CN117372846A - 基于嵌入式平台的目标检测方法、平台、装置及设备 - Google Patents
基于嵌入式平台的目标检测方法、平台、装置及设备 Download PDFInfo
- Publication number
- CN117372846A CN117372846A CN202311344446.1A CN202311344446A CN117372846A CN 117372846 A CN117372846 A CN 117372846A CN 202311344446 A CN202311344446 A CN 202311344446A CN 117372846 A CN117372846 A CN 117372846A
- Authority
- CN
- China
- Prior art keywords
- target
- operators
- detection
- algorithm model
- recognition algorithm
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 288
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 215
- 238000012545 processing Methods 0.000 claims abstract description 90
- 238000000034 method Methods 0.000 claims abstract description 66
- 230000003068 static effect Effects 0.000 claims description 57
- 238000004364 calculation method Methods 0.000 claims description 50
- 238000007781 pre-processing Methods 0.000 claims description 20
- 230000004927 fusion Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 5
- 230000008901 benefit Effects 0.000 abstract description 2
- 238000007689 inspection Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 13
- 238000012544 monitoring process Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012805 post-processing Methods 0.000 description 7
- 238000012216 screening Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000002265 prevention Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011897 real-time detection Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种基于嵌入式平台的目标检测方法、平台、装置及设备,其中嵌入式平台部署目标识别算法模型,目标识别算法模型是根据嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,模型处理包括:确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,并对不可支持算子进行替换处理,以根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型;嵌入式平台获取检测装置采集的检测图像;基于目标识别算法模型和检测图像识别检测图像中的目标信息,将目标信息反馈至检测装置。通过上述技术方案,相较于相关技术的目标识别算法云部署或PC机部署及检测方式,其部署成本更低,检测效率更高。
Description
技术领域
本申请涉及目标检测技术领域,尤其涉及一种基于嵌入式平台的目标检测方法、平台、装置及设备。
背景技术
目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体)。目标检测在计算机视觉应用中非常广泛,如自动驾驶汽车、无人机、安防监控等。
在安防监控的应用场景中,如机场、车站、地铁站的安检仪器采集监控图像,主要由安检员进行人工判图识别可疑信息(例如可疑物品或行人),由于人工成本较高且效率低、精度差。相关技术中通过在图形处理器(Graphics Processing Unit,GPU)云服务器中目标识别算法或者在个人计算机(Personal Computer,PC)中部署目标识别算法,以实现安检过程中可疑信息的自动检测。
但基于GPU云服务器的部署方式,需要搭建私有云服务器,且在目标检测过程中,需要将数据上传至云端,导致部署成本极高,以及检测效率低等问题;而基于PC机的目标识别算法部署的方式,需要适配显卡、视频采集等硬件,其部署成本较高,且PC机体积过大,在机场、轨道等场地严格受限的应用场景不适用,导致应用场景受限。
发明内容
本申请提供一种基于嵌入式平台的目标检测方法、平台、装置及设备,以至少解决上述技术问题之一。
根据本申请的一方面,提供一种基于嵌入式平台的目标检测方法,嵌入式平台部署目标识别算法模型,其中目标识别算法模型是根据嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,模型处理包括:确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,并对不可支持算子进行替换处理,以根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型;
方法应用于嵌入式平台,嵌入式平台与检测装置连接,方法包括:获取检测装置采集的检测图像;基于目标识别算法模型识别检测图像中的目标信息,目标信息包括目标物品信息或者目标行人信息;将目标信息反馈至检测装置,以使检测装置根据目标信息在检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
在一种实施方式中,确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,包括:解析初始目标识别算法模型,得到静态计算图,静态计算图包括初始目标识别算法模型的所有第一算子;遍历静态计算图中的所有第一算子,根据网络框架的预置算子支持表,将每个第一算子分别确定为可支持算子或者不可支持算子。
在一种实施方式中,根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型,包括:将可支持算子和替换处理后的不可支持算子,作为静态计算图中的所有第二算子;遍历静态计算图中的所有第二算子,确定每个第二算子部署在网络框架中所需的计算资源;对计算资源达到第一预设阈值的第二算子进行替换处理,得到静态计算图中的所有第三算子,并根据第三算子确定目标识别算法模型。
在一种实施方式中,根据第三算子确定目标识别算法模型,包括:识别第三算子中处于常量层的算子集合,并删除算子集合,得到静态计算图中的所有第四算子,并根据第四算子确定目标识别算法模型;或者,根据第三算子的类别对第三算子进行同类算子融合,得到静态计算图中的所有第五算子,并根据第五算子确定目标识别算法模型。
在一种实施方式中,在获取检测装置采集的检测图像之后,以及基于目标识别算法模型对检测图像进行目标识别之前,还包括:
对检测图像进行图像预处理,图像预处理至少包括以下之一:图像等比例缩放、颜色填充和颜色转换;将经过图像预处理的检测图像转换成目标识别算法模型对应的目标输入数据;目标输入数据为与目标识别算法模型中的可支持算子和替换处理后的不可支持算子对应的实际参数;基于目标识别算法模型识别检测图像中的目标信息,包括:将目标输入数据输入至目标识别算法模型中,以识别检测图像中的目标信息。
在一种实施方式中,目标信息携带目标检测框信息;在得到目标信息之后,还包括:解析目标检测框信息,得到各个目标检测框的检测框坐标、检测框类别和检测框得分;基于检测框类别和检测框得分,过滤掉各个目标检测框中对应检测框类别中的检测框得分低于第二预设阈值的目标检测框;基于检测框坐标,确定过滤后的目标检测框在检测图像上的坐标。
根据本申请的第二方面,提供一种基于嵌入式平台的目标检测方法,嵌入式平台部署目标识别算法模型,其中目标识别算法模型是根据嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,模型处理包括:确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,并对不可支持算子进行替换处理,以根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型;
方法应用于检测装置,其与嵌入式平台连接,方法包括:采集检测图像,并将检测图像发送至嵌入式平台,以使嵌入式平台基于目标识别算法模型识别检测图像中的目标信息,并将目标信息反馈至检测装置;根据目标信息在检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
根据本申请的第三方面,提供一种嵌入式平台,嵌入式平台目标识别算法模型,其中目标识别算法模型是根据嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,模型处理包括:确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,并对不可支持算子进行替换处理,以根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型;嵌入式平台与检测装置连接,嵌入式平台包括:
获取单元,其设置为获取检测装置采集的检测图像;识别单元,其设置为基于目标识别算法模型识别检测图像中的目标信息,目标信息包括目标物品信息或者目标行人信息;传输单元,其设置为将目标信息反馈至检测装置,以使检测装置根据目标信息在检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
根据本申请的第四方面,提供一种检测装置,检测装置与嵌入式平台连接,嵌入式平台部署目标识别算法模型,其中目标识别算法模型是根据嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,模型处理包括:确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,并对不可支持算子进行替换处理,以根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型;
检测装置与嵌入式平台连接,检测装置包括:采集单元,其设置为采集检测图像,并将检测图像发送至嵌入式平台,以使嵌入式平台基于目标识别算法模型识别检测图像中的目标信息,并将目标信息反馈至检测装置;标注及显示单元,其设置为根据目标信息在检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
根据本申请的第五方面,提供一种电子设备,包括:存储器和处理器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,使得电子设备执行的基于嵌入式平台的目标检测方法。
本申请提供的基于嵌入式平台的目标检测方法、平台、装置及设备,通过在嵌入式平台中部署经过模型处理后的目标识别算法,可以有效解决直接将训练好的模型的部署困难,或者部署后嵌入式平台难以执行当前已训练好的模型算法的问题,从而达到嵌入式平台的高效识别目的;相较于相关技术,利用嵌入式平台部署目标识别算法模型进行目标检测,无需搭建私有云服务器以及适配显卡,嵌入式设备即可完成算法的部署工作,相比于云服务器和PC机,其部署成本更低;并且,通过将违目标识别算法模型部署在嵌入式设备上,实现对目标信息的实时检测,避免了数据传输和处理延迟带来的时间损失,加速算法部署和应用落地,其检测过程更高效;并且,嵌入式设备可以在现场直接进行目标检测,不需要将敏感数据上传到云服务器进行处理,可以有效保护个人隐私和安全敏感信息,其检测过程更加安全;此外,使用嵌入式设备进行部署目标识别算法,可以根据不同的检测需求和场景进行定制化设计,提供更灵活、可扩展的解决方案,且嵌入式设备通常具有较低的功耗和小型化的特点,可以节省能源和空间资源,并可以长时间稳定运行,更适用于人流量大的安检场景。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种可能的场景示意图;
图2 为本申请实施例提供的一种基于嵌入式平台的目标检测方法的流程示意图;
图3为本申请实施例中静态计算图的示例图;
图4为本申请实施例提供的另一种基于嵌入式平台的目标检测方法的流程示意图;
图5为本申请实施例提供的又一种基于嵌入式平台的目标检测方法的流程示意图;
图6为本申请实施例提供的再一种基于嵌入式平台的目标检测方法的流程示意图;
图7为本申请实施例提供的一种嵌入式平台的结构示意图;
图8为本申请实施例提供的一种检测装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图;
图10是本申请一示例性实施例提供的一种终端设备的结构框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为便于对本申请实施例的理解,首先进行以下名词解释:
PyTorch:开源的Python机器学习库,为本申请实施例采用的一种可能的算法训练框架,用于训练目标识别算法模型。
TensorRT:是一个开源的高性能深度学习推理(Inference)优化器,可以为深度学习应用提供低延迟、高吞吐率的部署推理。为本申请实施例嵌入式平台所采用一种可能的算法部署框架,将训练好的目标识别算法模型部署到TensorRT可以实现算法推理加速。
静态计算图:是在程序运行之前就已经确定好了计算图的结构,也就是说在运行时计算图的结构是不会改变的。换言之,静态计算图是算法计算前固定所有的计算参数,在计算过程所有参数不会发生改变。其相对于动态计算图,计算过程中参数可变。
CUDA:为运算平台,其是一种开源的通用并行计算架构,该架构能够解决复杂的计算问题,包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员可以使用C语言来为CUD架构编写程序,所编写出的程序可以在支持CUDA的处理器上以超高性能运行。为本申请实施例中采用的一种可能的前处理和后处理的平台。
下面剖析现有技术问题及本申请实施例的技术构思:
以目标检测技术在安检防控领域的应用为例。传统的安检防控手段主要依赖于人工判图,其检测准确性受限于安检员的主观意识,速度受限于安检员的工作负荷,导致人工检测方式效率极低。通过将目标检测技术应用于安检防控领域中,基于目标识别算法可以有效提高可疑信息(例如可疑物品或行人)的检测准确率和效率,同时能大幅降低人工成本。
由于传统安检机不具备智能识别能力,并且安检机具有完备系统不利于二次开发。相关技术通过在图形处理器(Graphics Processing Unit,GPU)云服务器中目标识别算法或者在个人计算机(Personal Computer,PC)中部署目标识别算法,以实现安检过程中可疑信息的自动检测。
在基于GPU云服务器的部署方案中,例如,在安检设备内设有与内部接通的筛选口,监控机安装在安检设备上,用于监控安检设备内的行李情况,筛选机构设置在安检设备内,用于将存在有问题的行李从筛选口处输送出,云服务端分别与监控机和筛选机构信号连接,云服务端用于对监控机所监控的行李图像进行分析处理,并将处理后的图像数据传递到监控机和筛选机构内,以可驱使筛选机构将存在有问题的行李从筛选口处输送出。显然该部署方案容易产生如下问题:成本问题,私有云服务器搭建成本极高;延迟问题,由于违禁品检测算法需要将图像上传到云平台进行处理,然后再返回结果,受到网络带宽限制会导致检测过程的延迟,使得安检速度变慢;安检机网络连接问题,算法部署到云平台后,安检设备需要始终与云端保持连接,如果网络出现问题或者中断,会导致无法进行违禁品检测,降低了安检的可靠性;数据安全问题:将违禁品图像上传到云平台进行处理,会涉及到用户的隐私和敏感数据,如果云平台的数据安全措施不足,会产生数据泄露的风险。
在基于PC机的部署方案中,例如,根据使用场景,通过基于PC机搭建的虚拟仪器平台对X射线安检机的工作参数进行设置;使用X射线安检机采集X光图像视频流并将采集的X光图像视频流传入基于PC机搭建的虚拟仪器平台;利用虚拟仪器平台对X光图像视频流进行处理,从X光图像视频流中截取X光图像并传入已训练好的卷积神经网络;利用卷积神经网络按截取顺序对X光图像进行违禁品的检测与识别;当检测到违禁品时,标识出X光图像中的违禁品并在虚拟仪器平台进行显示。显然该部署方案容易产生如下问题:成本问题,基于PC机部署成本较高,需要显卡、视频采集模块等硬件;适应性问题,PC机体积过大,在机场、轨道等场地严格受限的应用场景不适用,且不易实现与其他安检设备集成。
有鉴于此,本申请实施例提供一种基于嵌入式平台的目标检测方法、平台、装置及设备,在一可能的应用该场景中,该技术方案可以应用于安防监控的应用场景下,示例性地,本申请实施例提供的方法的执行主体可以为嵌入式平台或者检测装置,更具体地,例如为安检防控场所中设置的嵌入式平台或者检测装置,可选地,嵌入式平台可以采用TensorRT网络框架,检测装置可以采用安检机;其中,嵌入式平台可以嵌入在安检防控场所中的任意设备中,例如嵌入在检测装置中、或者嵌入在检测装置之外的其它装置例如监控装置等设备中,本申请实施例对嵌入式设备的嵌入位置不作具体限定。
本申请实施例通过利用嵌入式平台部署目标识别算法模型,其中目标识别算法模型是根据嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,模型处理包括:确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,并对不可支持算子进行替换处理,以根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型;方法应用于嵌入式平台,嵌入式平台与检测装置连接,方法包括:获取检测装置采集的检测图像;基于目标识别算法模型识别检测图像中的目标信息,目标信息包括目标物品信息或者目标行人信息;将目标信息反馈至检测装置,以使检测装置根据目标信息在检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
此过程中,根据嵌入式平台所采用的网络框架的特性,通过对初始目标识别算法进行模型处理后,在嵌入式平台中进行部署,可以有效解决无法直接将训练好的模型部署至嵌入式平台中,或者部署后嵌入式平台难以执行当前已训练好的模型算法的问题;利用嵌入式平台部署目标识别算法模型进行目标检测,无需搭建私有云服务器以及适配显卡,嵌入式设备即可完成算法的部署工作,相比于云服务器和PC机,其部署成本更低;并且,通过将违目标识别算法模型部署在嵌入式设备上,实现对目标信息的实时检测,避免了数据传输和处理延迟带来的时间损失,加速算法部署和应用落地,其检测过程更高效;并且,嵌入式设备可以在现场直接进行目标检测,不需要将敏感数据上传到云服务器进行处理,可以有效保护个人隐私和安全敏感信息,其检测过程更加安全;此外,使用嵌入式设备进行部署违禁品检测算法,可以根据不同的检测需求和场景进行定制化设计,提供更灵活、可扩展的解决方案,且嵌入式设备通常具有较低的功耗和小型化的特点,可以节省能源和空间资源,并可以长时间稳定运行,更适用于人流量大的安检场景。
下面以应用于安防监控场景、识别违禁物品为例,结合附图和具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。需要说明的是,这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
本申请实施例提供一种基于嵌入式平台的目标检测方法,嵌入式平台部署目标识别算法模型,其中目标识别算法模型是根据嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,模型处理包括:确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,并对不可支持算子进行替换处理,以根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型。
本实施例中,初始目标识别算法是已经训练好的模型,可选地,利用PyTorch算法训练框架训练出用于识别违禁品的初始目标识别算法模型。其中初始目标识别算法的训练过程可以参照现有技术,此处不再多作赘述。
本实施例中,嵌入式平台 可以采用NVIDIA Jetson Nano ,嵌入式平台的网络框架可以采用TensorRT,其中Jetson Nano成本较低、TensorRT推理框架较为成熟,且Jetsonnano支持TensorRT网络框架、其算力可以满足目标识别算法例如YoloV8的推理,可以实现较为高效的目标识别。在一些实施例中,也可以采用其它嵌入式平台或者其它网络框架例如NCNN等,本实施例对嵌入式平台及其所采用的网络框架不作具体限定。
本实施例中,算子(Operator,简称OP)即模型中的计算单元,本领域技术人员可以理解,深度学习算法由一个个计算单元组成,这些计算单元也即算子。在网络模型中,算子对应层中的计算逻辑,例如:卷积层(Convolution Layer)是一个算子;全连接层(Fully-connected Layer, FC layer)中的权值求和过程,是一个算子。再例如:tanh、ReLU等,为在网络模型中被用做激活函数的算子。针对不同的部署框架,其支持的算子也各不相同,尤其对于嵌入式平台而言,基于其微小、计算资源有限等特性,如果直接将训练好的模型部署至嵌入式平台中,容易导致嵌入式平台难以执行当前已训练好的模型算法,为了避免上述问题,本实施例通过对初始目标识别算法进行模型处理后,在嵌入式平台中进行部署,可以实现嵌入式平台执行高效的目标识别过程。
在一可实现中,该应用场景中可以同时包含多个检测装置,可选地,如图1所示,包括多台安检机11,部署了目标识别算法模型的嵌入式平台12可以嵌入在某一安检机11中,并与其它安检机11有线或者无线网络连接,用于接收其它安检机11采集的检测图像并进行目标识别。在其它可实现中,为均衡识别效率和运营成本,可以按照一定比例分配嵌入式设备和安检机的数量,如图1中的示例,每3台安检机与1个嵌入式平台连接,该嵌入式平台可用于处理这3台安检机的检测图像,并进行目标识别。
请参照图2,图2为本申请提供的基于嵌入式平台的目标检测方法的流程示意图,该方法应用于嵌入式平台11,嵌入式平台11与检测装置12连接,方法包括步骤S201-S203。
步骤S201、获取检测装置采集的检测图像。
在一可实现中,检测装置携带摄像功能,或者该检测装置中集成了摄像装置,利用该摄像装置采集检测图像。检测装置在采集到检测图像后,实时将对应的检测图像传输给嵌入式平台,嵌入式平台获取检测装置传输的检测图像,其中,传输方式可以是内部传输或者外部传输。
步骤S202、基于目标识别算法模型识别检测图像中的目标信息,目标信息包括目标物品信息或者目标行人信息。
需要说明的是,其中目标物品可以是安防监控场所中规定的违禁物品,例如喷雾等物品,目标行人可以是安防监控场所中限制通行的行人。
具体地,嵌入式平台部署目标识别算法后,目标识别算法模型利用其计算资源执行各个算子的计算,获得对应的目标检测结果。可以理解的,以违禁品识别为例,目标识别模型是基于对应的违禁品训练出来的,在完成模型部署后,目标识别算法模型可以在检测图像中快速训练出对应的目标信息,即违禁品信息,其它目标物品信息和目标行人信息同理。
步骤S203、将目标信息反馈至检测装置,以使检测装置根据目标信息在检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
本实施例中,嵌入式平台在完成检测图像的目标信息识别之后,将识别的目标信息反馈给检测装置,由检测装置进一步标注检测图像中的目标物品或者目标行人,以便于安防监控管理人员做出进一步的确认和处理行为。
需要说明的是,本实施例中的显示界面,可以是检测装置自带的显示界面,也可以是通过有线或者无线传输到其它设备上的显示界面,其它设备例如安防监控人员的手机或者电脑或者其它具有显示功能的设备等。
本实施例利用嵌入式平台进行目标检测,无需搭建私有云服务器以及适配显卡,嵌入式设备即可完成算法的部署工作,相比于云服务器和PC机,其部署成本更低;并且,通过将违目标识别算法模型部署在嵌入式设备上,实现对目标信息的实时检测,避免了数据传输和处理延迟带来的时间损失,加速算法部署和应用落地,其检测过程更高效;并且,嵌入式设备可以在现场直接进行目标检测,不需要将敏感数据上传到云服务器进行处理,可以有效保护个人隐私和安全敏感信息,其检测过程更加安全;此外,使用嵌入式设备进行部署违禁品检测算法,可以根据不同的检测需求和场景进行定制化设计,提供更灵活、可扩展的解决方案,且嵌入式设备通常具有较低的功耗和小型化的特点,可以节省能源和空间资源,并可以长时间稳定运行,更适用于人流量大的安检场景。
在一种实施方式中,确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,可以包括以下步骤:
解析初始目标识别算法模型,得到静态计算图,静态计算图包括初始目标识别算法模型的所有第一算子;
遍历静态计算图中的所有第一算子,根据网络框架的预置算子支持表,将每个第一算子分别确定为可支持算子或者不可支持算子。
本实施例中,以初始目标识别算法模型采用PyTorch训练为例,通过加载并解析PyTorch模型,可以获取整个模型的静态计算图。其中,算子是计算单元,一个算子负责一个计算逻辑,模型是由许多算子层层连接组合成一个完整的静态计算图。其中静态计算图如图3所示。
本领域技术人员可以理解,预置算子支持表是确定好网络框架之后已知确定的,换言之,不同的网络框架对应不同的预置算子支持表,以网络框架为TensorRT为例,对于不同版本的TensorRT(对应不同网络框架),其算子支持表也不一致,以某一版本TensorRT的算子支持表(由于支持算子较多,本实施例仅示例部分支持算子)为例,如下表所示:
上表中,对应“Y”的即可支持算子,“N”的即不可支持算子,可以看出,TensorRT网络框架不支持全连接层(Fully connected layer,FC)算子和反卷积unsample算子,而训练出的初始目标识别模型中包含这两种甚至更多嵌入式平台网络框架所不支持的算子,为了实现算法的高效部署,本实施例将网络框架不支持的算子替换为可支持算子,例如,将FC算子替换为TensorRT支持的conv算子,将Unsample算子替换成TensorRT支持的convtranspose算子。
可选地,上述将FC算子替换为conv算子,通过设置好对应的参数可以达到相同输入得出相同输出的效果,例如: 输入是c * n * n,可以使用n * n卷积核的卷积做到输入输出保持一致;而将upsample 替换成 ConvTranspose,upsample 对输入tensor插入新的值得到一个扩大形状的新tensor, 插值是按照特定的方式实现比如(最近邻插值、线性插值等),可以通过构建一个 convtranspose 来实现同等效果。例如: 输入是b * c * n *n,扩大两倍输出为b * c * (2*n) * (2*n),可以使用4*4的卷积核的 convtranspose 做到输入输出保持一致。
可选地,不支持算子可以包括动态shape不支持的算子,其中动态shape为Tensor的Shape依赖于具体的运算,而无法提前通过计算得出的算子。如果有TensorRT不支持的算子无法将算法部署到TensorRT平台或者算力不支持导致无法达到识别效果,为了将模型能够部署在TensorRT或者提高平台的计算效率,替换掉不支持的算子,一个不支持的算子可以通过1个已支持的算子转换或者多个已支持的算子组合实现,同理动态shape不支持的算子也可以通过以上方法。
进一步地,在完成算子替换之后,还可以执行算子融合操作,例如conv + bn 融合;conv + bn + 激活层(包括: relu、mish、silu等)融合;conv + bn + add/mul/div 融合;前后重复算子合并(例如两个 reshape 合并成一个 reshape),以减少多余的计算,进一步地达到优化加速的效果,满足安防监控的目标识别需求。
在其它实施例中,对于嵌入式平台的网络框架与初始目标识别算法模型之间所确定的可支持算子和不可支持算子同理。
在一种实施方式中,根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型,可以包括以下步骤:
将可支持算子和替换处理后的不可支持算子,作为静态计算图中的所有第二算子;
遍历静态计算图中的所有第二算子,确定每个第二算子部署在网络框架中所需的计算资源;
对计算资源达到第一预设阈值的第二算子进行替换处理,得到静态计算图中的所有第三算子,并根据第三算子确定目标识别算法模型。
本实施例中,通过经过替换处理后的静态计算图,替换掉占用大量内存的特殊算子。这些特殊算子,即在TensorRT中有会使用额外的计算源的算子,导致实际使用时占用大量额外的内存,为了避免最终的TensorRT模型出现这些算子影响模型的识别效率,通过其它算子进行替换。其替换方式可以参照上替换例子,此处不再赘述。
在一种实施方式中,根据第三算子确定目标识别算法模型,可以包括以下步骤:
识别第三算子中处于常量层的算子集合,并删除算子集合,得到静态计算图中的所有第四算子,并根据第四算子确定目标识别算法模型;或者,根据第三算子的类别对第三算子进行同类算子融合,得到静态计算图中的所有第五算子,并根据第五算子确定目标识别算法模型。
本实施例中,常量层可以看做是一个固定的值,常量层的计算过程的最终结果也还是常量层,本实施例听过删除常量层的算子集合,可以不必要的计算过程,可达到进一步性能优化的目的。
本实施例中,在完成上述算子替换、删除等操作之后,对算子进行融合,其中同类算子,即可以进行同类运算的算子,例如均可以进行线性运算的算子,其中算子融合示例如下:
conv + bn + 激活层(包括: relu、mish、silu等)融合;conv + bn + add/mul/div 融合;前后重复算子合并(比如: 两个 reshape 合并成一个 reshape)。其中:
conv+bn融合原理为,推理的时候,每个算子参数都是固定的,conv 和 bn 都可以看做是一个函数:f(x) = w_conv * x + b_conv;conv+bn融合看成一个新的函数:g(f(x))= w_bn * (w_conv * x + b_conv) + b_bn = (w_bn * w_conv) * x + w_bn *;b_conv +b_bn;将w_bn * w_conv作为新的权重w,将w_bn * b_conv + b_bn作为新的偏置b;
conv+bn+add融合原理为,将add的参数与conv+bn的偏置b融合得到新的偏置b_new;
conv+bn+mul/div融合原理为,将add的参数与conv+bn的权重w融合得到新的偏置w_new。
本实施例中,通过调用TensorRT API,将PyTorch算子替换成TensorRT算子,形成完整静态计算图,并设置动态shape,关闭额外的计算源减少内存占用,最终构建TensorRT模型,达到嵌入式平台的目标识别算法高效部署目的。
请参照图4,图4为本申请实施例提供的另一种基于嵌入式平台的目标检测方法的流程示意图,在上述实施例基础上,本实施例通过在模型外进行数图像的预处理,可以有效减少模型计算资源的占用,进而提高目标识别效率。具体地,在获取检测装置采集的检测图像(步骤S201)之后,以及基于目标识别算法模型对检测图像进行目标识别(步骤S202)之前,还可以包括以下步骤S401和步骤S402,并将步骤S202进一步划分为步骤S202a。
步骤S401、对检测图像进行图像预处理,图像预处理至少包括以下之一:图像等比例缩放、颜色填充和颜色转换。
在实际应用中,安检机采集的原始检测图像通常内存较大、颜色不便于直接识别等情况,如果直接利用嵌入式平台的目标识别算法模型进行目标识别,需要占用较多计算资源,一定程度上将影响目标识别的效率。通过图像等比例缩放可以保证送入算法(即目标识别算法模型)的图像不会产生形变,而颜色填充操作则可以保证输入到算法的图像尺寸满足算法的要求,颜色转换则可以保证图像的颜色空间满足算法的要求。
本实施例在获取到检测图像后,并在利用目标识别算法模型进行目标识别之前,嵌入式平台首先对检测图像进行图像预处理,以提高检测效率。在一可实现中,可以基于显卡(Compute Unified Device Architecture,CUDA)实现图像的预处理,也即目标识别算法模型的前处理,基于CUDA实现的算法前处理可以运行在GPU上,比在目标识别算法模型上做前处理会快很多,而且还可以减少资源占用,进而达到提高嵌入式平台的目标识别效率的目的。
步骤S402、将经过图像预处理的检测图像转换成目标识别算法模型对应的目标输入数据;目标输入数据为与目标识别算法模型中的可支持算子和替换处理后的不可支持算子对应的实际参数。
S202a、将目标输入数据输入至目标识别算法模型中,以识别检测图像中的目标信息。
本实施例中,在将经过预处理的图像进行处理后,将对应的图像数据转换成算法所需的输入数据,例如图像的边缘信息(梯度向量)等数据。
本实施例通过对检测图像进行前处理之后,再在嵌入式设备上完成TensorRT模型的加载和推理操作,可以有效降低模型的处理难度,优化了目标识别效率。
请参照图5,图5为本申请实施例提供的又一种基于嵌入式平台的目标检测方法的流程示意图,在上述实施例的基础上,本实施例在模型进行目标识别后,对目标信息进行后处理,在提高模型识别的效率基础上,提高了识别准确率。具体地,目标信息携带目标检测框信息;在步骤S202得到目标信息之后,还可以包括以下步骤S501-S503。
步骤S501、解析目标检测框信息,得到各个目标检测框的检测框坐标、检测框类别和检测框得分;
步骤S502、基于检测框类别和检测框得分,过滤掉各个目标检测框中对应检测框类别中的检测框得分低于第二预设阈值的目标检测框;
步骤S503、基于检测框坐标,确定过滤后的目标检测框在检测图像上的坐标。
在实际应用中,目标识别算法模型在完成目标检测后,对于图像中的多个位置均可能生成检测框,如果直接利用模型进行检测框的筛除和定位,将导致模型的处理工作量较大,难以满足嵌入式设备的小型化需求。
本实施例模型在完成目标识别之后,嵌入式设备可以结合其它算法例如CUDA对目标信息进行后处理,利用CUDA过滤一部分目标检测框,并确定经过过滤的目标检测框确定检测图像中的坐标位置。在目标信息中携带该坐标位置,反馈给检测装置,检测装置可以快速标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上,以提高识别精确度。
本实施例中,采用CUDA算法进行后处理,相比通过目标识别算法模型做后处理提高处理速率,并可以减少目标识别算法模型的资源占用。因为算法推理的结果不能直接作为真实结果,而且包含了许多不需要的信息,所以对算法推理的结果还需要做额外的后处理,后处理主要包括过滤掉低于设定阈值的检测框、算法预测的检测框坐标还原成原始图像坐标、非极大值抑制(Non-Maximum suppression,NMS)等。
本申请实施例相应还提供一种基于嵌入式平台的目标检测方法,嵌入式平台部署目标识别算法模型,其中目标识别算法模型是根据嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,模型处理包括:确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,并对不可支持算子进行替换处理,以根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型;
方法应用于检测装置,其与嵌入式平台连接,如图6所示,该方法可以包括以下步骤:
步骤S601、采集检测图像,并将检测图像发送至嵌入式平台,以使嵌入式平台基于目标识别算法模型识别检测图像中的目标信息,并将目标信息反馈至检测装置;
步骤S602、根据目标信息在检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
在一种实施方式中,确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,包括:
解析初始目标识别算法模型,得到静态计算图,静态计算图包括初始目标识别算法模型的所有第一算子;
遍历静态计算图中的所有第一算子,根据网络框架的预置算子支持表,将每个第一算子分别确定为可支持算子或者不可支持算子。
在一种实施方式中,根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型,包括:
将可支持算子和替换处理后的不可支持算子,作为静态计算图中的所有第二算子;
遍历静态计算图中的所有第二算子,确定每个第二算子部署在网络框架中所需的计算资源;
对计算资源达到第一预设阈值的第二算子进行替换处理,得到静态计算图中的所有第三算子,并根据第三算子确定目标识别算法模型。
在一种实施方式中,根据第三算子确定目标识别算法模型,包括:
识别第三算子中处于常量层的算子集合,并删除算子集合,得到静态计算图中的所有第四算子,并根据第四算子确定目标识别算法模型;
或者,
根据第三算子的类别对第三算子进行同类算子融合,得到静态计算图中的所有第五算子,并根据第五算子确定目标识别算法模型。
相关说明可以对应参见上述嵌入式平台端的方法实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
本申请实施例相应还提供一种嵌入式平台,嵌入式平台目标识别算法模型,其中目标识别算法模型是根据嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,模型处理包括:确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,并对不可支持算子进行替换处理,以根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型;嵌入式平台与检测装置连接,如图7所示,嵌入式平台70包括:
获取单元71,其设置为获取检测装置采集的检测图像;
识别单元72,其设置为基于目标识别算法模型识别检测图像中的目标信息,目标信息包括目标物品信息或者目标行人信息;
传输单元73,其设置为将目标信息反馈至检测装置,以使检测装置根据目标信息在检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
在一种实施方式中,确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子具体为:解析初始目标识别算法模型,得到静态计算图,静态计算图包括初始目标识别算法模型的所有第一算子;遍历静态计算图中的所有第一算子,根据网络框架的预置算子支持表,将每个第一算子分别确定为可支持算子或者不可支持算子。
在一种实施方式中,根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型,具体为:将可支持算子和替换处理后的不可支持算子,作为静态计算图中的所有第二算子;遍历静态计算图中的所有第二算子,确定每个第二算子部署在网络框架中所需的计算资源;对计算资源达到第一预设阈值的第二算子进行替换处理,得到静态计算图中的所有第三算子,并根据第三算子确定目标识别算法模型。
在一种实施方式中,根据第三算子确定目标识别算法模型,具体为:识别第三算子中处于常量层的算子集合,并删除算子集合,得到静态计算图中的所有第四算子,并根据第四算子确定目标识别算法模型;或者,根据第三算子的类别对第三算子进行同类算子融合,得到静态计算图中的所有第五算子,并根据第五算子确定目标识别算法模型。
在一种实施方式中,该装置还包括:
预处理单元,其设置为对检测图像进行图像预处理,图像预处理至少包括以下之一:图像等比例缩放、颜色填充和颜色转换;
转换单元,其设置为将经过图像预处理的检测图像转换成目标识别算法模型对应的目标输入数据;目标输入数据为与目标识别算法模型中的可支持算子和替换处理后的不可支持算子对应的实际参数;
识别单元具体设置为,将目标输入数据输入至目标识别算法模型中,以识别检测图像中的目标信息。
在一种实施方式中,目标信息携带目标检测框信息;
该装置还包括:
解析单元,其设置为解析目标检测框信息,得到各个目标检测框的检测框坐标、检测框类别和检测框得分;
过滤单元,其设置为基于检测框类别和检测框得分,过滤掉各个目标检测框中对应检测框类别中的检测框得分低于第二预设阈值的目标检测框;
坐标确定单元,其设置为基于检测框坐标,确定过滤后的目标检测框在检测图像上的坐标。
相关说明可以参见上述方法实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
根据本申请的第四方面,提供一种检测装置,检测装置与嵌入式平台连接,嵌入式平台部署目标识别算法模型,其中目标识别算法模型是根据嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,模型处理包括:确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子,并对不可支持算子进行替换处理,以根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型;检测装置与嵌入式平台连接。
如图8所示,检测装置80包括:
采集单元81,其设置为采集检测图像,并将检测图像发送至嵌入式平台,以使嵌入式平台基于目标识别算法模型识别检测图像中的目标信息,并将目标信息反馈至检测装置;
标注及显示单元82,其设置为根据目标信息在检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
在一种实施方式中,确定初始目标识别算法模型中与网络框架对应的可支持算子和不可支持算子具体为:解析初始目标识别算法模型,得到静态计算图,静态计算图包括初始目标识别算法模型的所有第一算子;遍历静态计算图中的所有第一算子,根据网络框架的预置算子支持表,将每个第一算子分别确定为可支持算子或者不可支持算子。
在一种实施方式中,根据可支持算子和替换处理后的不可支持算子确定目标识别算法模型,具体为:将可支持算子和替换处理后的不可支持算子,作为静态计算图中的所有第二算子;遍历静态计算图中的所有第二算子,确定每个第二算子部署在网络框架中所需的计算资源;对计算资源达到第一预设阈值的第二算子进行替换处理,得到静态计算图中的所有第三算子,并根据第三算子确定目标识别算法模型。
在一种实施方式中,根据第三算子确定目标识别算法模型,具体为:识别第三算子中处于常量层的算子集合,并删除算子集合,得到静态计算图中的所有第四算子,并根据第四算子确定目标识别算法模型;或者,根据第三算子的类别对第三算子进行同类算子融合,得到静态计算图中的所有第五算子,并根据第五算子确定目标识别算法模型。
相关说明可以参见上述方法实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
本申请实施例相应还提供一种电子设备,如图9所示,该电子设备包括:处理器91,以及与处理器91通信连接的存储器92;
存储器91存储计算机执行指令;
处理器92执行存储器91存储的计算机执行指令,使得电子设备执行上述实施例提供的任意一种的基于嵌入式平台的目标检测方法,其中,存储器92和处理器91通过总线93连接。
相关说明可以对应参见上述方法实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
本申请实施例相应还提供一种芯片,包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,执行上述实施例提供的任意一种的基于嵌入式平台的目标检测方法。
相关说明可以参见上述方法实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
本申请一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本申请实施例提供的基于嵌入式平台的目标检测方法。
其中,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请一个实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述实施例提供的任意一种的基于嵌入式平台的目标检测方法。
图10是本申请一个示例性实施例示出的一种终端设备的框图,该终端设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
终端设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/ O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在终端设备800的操作。这些数据的示例包括用于在终端设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为终端设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为终端设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在终端设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当终端设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当终端设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/ O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端设备800提供各个方面的状态评估。例如,传感器组件814可以检测到终端设备800的打开/关闭状态,组件的相对定位,例如组件为终端设备800的显示器和小键盘,传感器组件814还可以检测终端设备800或终端设备800一个组件的位置改变,用户与终端设备800接触的存在或不存在,终端设备800方位或加速/减速和终端设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端设备800和其他设备之间有线或无线方式的通信。终端设备800可以接入基于通信标准的无线网络,如WiFi,3G、4G、5G或其他标准通信网络,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述本申请实施例提供的方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端设备800的处理器820执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由终端设备的处理器执行时,使得终端设备800能够执行上述本申请实施例提供的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种基于嵌入式平台的目标检测方法,其特征在于,所述嵌入式平台部署目标识别算法模型,其中所述目标识别算法模型是根据所述嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,所述模型处理包括:确定所述初始目标识别算法模型中与所述网络框架对应的可支持算子和不可支持算子,并对所述不可支持算子进行替换处理,以根据所述可支持算子和替换处理后的不可支持算子确定所述目标识别算法模型;
所述方法应用于所述嵌入式平台,所述嵌入式平台与检测装置连接,所述方法包括:
获取所述检测装置采集的检测图像;
基于所述目标识别算法模型识别所述检测图像中的目标信息,所述目标信息包括目标物品信息或者目标行人信息;
将所述目标信息反馈至所述检测装置,以使所述检测装置根据所述目标信息在所述检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
2.根据权利要求1所述的方法,其特征在于,所述确定所述初始目标识别算法模型中与所述网络框架对应的可支持算子和不可支持算子,包括:
解析所述初始目标识别算法模型,得到静态计算图,所述静态计算图包括所述初始目标识别算法模型的所有第一算子;
遍历所述静态计算图中的所有第一算子,根据所述网络框架的预置算子支持表,将每个所述第一算子分别确定为可支持算子或者不可支持算子。
3.根据权利要求2所述的方法,其特征在于,所述根据所述可支持算子和替换处理后的不可支持算子确定所述目标识别算法模型,包括:
将所述可支持算子和替换处理后的不可支持算子,作为所述静态计算图中的所有第二算子;
遍历所述静态计算图中的所有第二算子,确定每个所述第二算子部署在所述网络框架中所需的计算资源;
对计算资源达到第一预设阈值的第二算子进行替换处理,得到所述静态计算图中的所有第三算子,并根据所述第三算子确定所述目标识别算法模型。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第三算子确定所述目标识别算法模型,包括:
识别所述第三算子中处于常量层的算子集合,并删除所述算子集合,得到所述静态计算图中的所有第四算子,并根据所述第四算子确定所述目标识别算法模型;
或者,
根据所述第三算子的类别对所述第三算子进行同类算子融合,得到所述静态计算图中的所有第五算子,并根据所述第五算子确定所述目标识别算法模型。
5.根据权利要求1-4任一项所述的方法,其特征在于,在获取所述检测装置采集的检测图像之后,以及基于所述目标识别算法模型对所述检测图像进行目标识别之前,还包括:
对所述检测图像进行图像预处理,所述图像预处理至少包括以下之一:图像等比例缩放、颜色填充和颜色转换;
将经过图像预处理的检测图像转换成所述目标识别算法模型对应的目标输入数据;所述目标输入数据为与所述目标识别算法模型中的所述可支持算子和所述替换处理后的不可支持算子对应的实际参数;
所述基于所述目标识别算法模型识别所述检测图像中的目标信息,包括:将所述目标输入数据输入至所述目标识别算法模型中,以识别所述检测图像中的目标信息。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述目标信息携带目标检测框信息;
在得到目标信息之后,还包括:
解析所述目标检测框信息,得到各个目标检测框的检测框坐标、检测框类别和检测框得分;
基于所述检测框类别和所述检测框得分,过滤掉各个目标检测框中对应检测框类别中的检测框得分低于第二预设阈值的目标检测框;
基于所述检测框坐标,确定过滤后的目标检测框在检测图像上的坐标。
7.一种基于嵌入式平台的目标检测方法,其特征在于,所述嵌入式平台部署目标识别算法模型,其中所述目标识别算法模型是根据所述嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,所述模型处理包括:确定所述初始目标识别算法模型中与所述网络框架对应的可支持算子和不可支持算子,并对所述不可支持算子进行替换处理,以根据所述可支持算子和替换处理后的不可支持算子确定所述目标识别算法模型;
所述方法应用于检测装置,其与所述嵌入式平台连接,所述方法包括:
采集检测图像,并将所述检测图像发送至所述嵌入式平台,以使所述嵌入式平台基于所述目标识别算法模型识别所述检测图像中的目标信息,并将所述目标信息反馈至所述检测装置;
根据所述目标信息在所述检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
8.一种嵌入式平台,特征在于,所述嵌入式平台目标识别算法模型,其中所述目标识别算法模型是根据所述嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,所述模型处理包括:确定所述初始目标识别算法模型中与所述网络框架对应的可支持算子和不可支持算子,并对所述不可支持算子进行替换处理,以根据所述可支持算子和替换处理后的不可支持算子确定所述目标识别算法模型;所述嵌入式平台与检测装置连接,所述嵌入式平台包括:
获取单元,其设置为获取所述检测装置采集的检测图像;
识别单元,其设置为基于所述目标识别算法模型识别所述检测图像中的目标信息,所述目标信息包括目标物品信息或者目标行人信息;
传输单元,其设置为将所述目标信息反馈至所述检测装置,以使所述检测装置根据所述目标信息在所述检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
9.一种检测装置,其特征在于,所述检测装置与嵌入式平台连接,所述嵌入式平台部署目标识别算法模型,其中所述目标识别算法模型是根据所述嵌入式平台的网络框架对初始目标识别算法模型进行模型处理后部署的,所述模型处理包括:确定所述初始目标识别算法模型中与所述网络框架对应的可支持算子和不可支持算子,并对所述不可支持算子进行替换处理,以根据所述可支持算子和替换处理后的不可支持算子确定所述目标识别算法模型;
所述检测装置与所述嵌入式平台连接,所述检测装置包括:
采集单元,其设置为采集检测图像,并将所述检测图像发送至所述嵌入式平台,以使所述嵌入式平台基于所述目标识别算法模型识别所述检测图像中的目标信息,并将所述目标信息反馈至所述检测装置;
标注及显示单元,其设置为根据所述目标信息在所述检测图像中标注对应的目标物品或者目标行人,并将标注后的检测图像显示在显示界面上。
10.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行权利要求1至6中任一项所述的基于嵌入式平台的目标检测方法,或者权利要求7所述的基于嵌入式平台的目标检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311344446.1A CN117372846A (zh) | 2023-10-17 | 2023-10-17 | 基于嵌入式平台的目标检测方法、平台、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311344446.1A CN117372846A (zh) | 2023-10-17 | 2023-10-17 | 基于嵌入式平台的目标检测方法、平台、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117372846A true CN117372846A (zh) | 2024-01-09 |
Family
ID=89401736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311344446.1A Pending CN117372846A (zh) | 2023-10-17 | 2023-10-17 | 基于嵌入式平台的目标检测方法、平台、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117372846A (zh) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111028226A (zh) * | 2019-12-16 | 2020-04-17 | 北京百度网讯科技有限公司 | 算法移植的方法及装置 |
CN111709522A (zh) * | 2020-05-21 | 2020-09-25 | 哈尔滨工业大学 | 一种基于服务器-嵌入式协同的深度学习目标检测系统 |
CN112819153A (zh) * | 2020-12-31 | 2021-05-18 | 杭州海康威视数字技术股份有限公司 | 一种模型转化方法及装置 |
US20220051104A1 (en) * | 2020-08-14 | 2022-02-17 | Microsoft Technology Licensing, Llc | Accelerating inference of traditional ml pipelines with neural network frameworks |
CN114140755A (zh) * | 2022-01-28 | 2022-03-04 | 北京文安智能技术股份有限公司 | 图像语义分割模型的转换方法和交通道路场景分析平台 |
US20220076123A1 (en) * | 2020-09-04 | 2022-03-10 | Xiamen Sigmastar Technology Ltd. | Neural network optimization method, electronic device and processor |
WO2022134948A1 (zh) * | 2020-12-23 | 2022-06-30 | 展讯通信(上海)有限公司 | 神经网络的计算部署方法及装置、存储介质、计算机设备 |
CN114691148A (zh) * | 2022-04-11 | 2022-07-01 | 北京百度网讯科技有限公司 | 模型推理加速方法、装置、电子设备及存储介质 |
CN114781620A (zh) * | 2022-04-26 | 2022-07-22 | 科大讯飞股份有限公司 | 一种数据处理模型构建方法、装置、设备及存储介质 |
CN114997384A (zh) * | 2022-06-15 | 2022-09-02 | 上海达网科技有限公司 | 一种基于标准化算子接口的神经网络模型部署方法及系统 |
CN115099399A (zh) * | 2022-06-27 | 2022-09-23 | 清华大学 | 神经网络模型部署方法、装置、电子设备及存储介质 |
CN115115891A (zh) * | 2022-07-19 | 2022-09-27 | 安徽江淮汽车集团股份有限公司 | 基于嵌入式平台的目标检测模型部署应用方法 |
WO2022246705A1 (zh) * | 2021-05-26 | 2022-12-01 | 京东方科技集团股份有限公司 | 一种深度学习模型测试的方法、设备及计算机存储介质 |
CN115659281A (zh) * | 2022-11-16 | 2023-01-31 | 之江实验室 | 一种自适应加速算子融合的方法及装置 |
WO2023071075A1 (zh) * | 2021-10-29 | 2023-05-04 | 北京邮电大学 | 机器学习模型自动化生产线构建方法及系统 |
CN116126365A (zh) * | 2023-04-18 | 2023-05-16 | 之江实验室 | 一种模型部署的方法、系统、存储介质及电子设备 |
CN116306866A (zh) * | 2023-02-24 | 2023-06-23 | 浙江大华技术股份有限公司 | 一种网络模型的部署方法、计算机设备和存储介质 |
CN116360712A (zh) * | 2021-12-28 | 2023-06-30 | 杭州海康威视数字技术股份有限公司 | 平台框架扩展方法、装置及存储介质 |
CN116824480A (zh) * | 2023-04-18 | 2023-09-29 | 中国科学院信息工程研究所 | 基于DeepStream的监控视频分析方法及系统 |
CN116862951A (zh) * | 2023-07-26 | 2023-10-10 | 中国电子科技南湖研究院 | 一种基于Transformer的轻量化目标识别与跟踪系统及方法 |
-
2023
- 2023-10-17 CN CN202311344446.1A patent/CN117372846A/zh active Pending
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111028226A (zh) * | 2019-12-16 | 2020-04-17 | 北京百度网讯科技有限公司 | 算法移植的方法及装置 |
CN111709522A (zh) * | 2020-05-21 | 2020-09-25 | 哈尔滨工业大学 | 一种基于服务器-嵌入式协同的深度学习目标检测系统 |
US20220051104A1 (en) * | 2020-08-14 | 2022-02-17 | Microsoft Technology Licensing, Llc | Accelerating inference of traditional ml pipelines with neural network frameworks |
US20220076123A1 (en) * | 2020-09-04 | 2022-03-10 | Xiamen Sigmastar Technology Ltd. | Neural network optimization method, electronic device and processor |
WO2022134948A1 (zh) * | 2020-12-23 | 2022-06-30 | 展讯通信(上海)有限公司 | 神经网络的计算部署方法及装置、存储介质、计算机设备 |
CN112819153A (zh) * | 2020-12-31 | 2021-05-18 | 杭州海康威视数字技术股份有限公司 | 一种模型转化方法及装置 |
WO2022246705A1 (zh) * | 2021-05-26 | 2022-12-01 | 京东方科技集团股份有限公司 | 一种深度学习模型测试的方法、设备及计算机存储介质 |
WO2023071075A1 (zh) * | 2021-10-29 | 2023-05-04 | 北京邮电大学 | 机器学习模型自动化生产线构建方法及系统 |
CN116360712A (zh) * | 2021-12-28 | 2023-06-30 | 杭州海康威视数字技术股份有限公司 | 平台框架扩展方法、装置及存储介质 |
CN114140755A (zh) * | 2022-01-28 | 2022-03-04 | 北京文安智能技术股份有限公司 | 图像语义分割模型的转换方法和交通道路场景分析平台 |
CN114691148A (zh) * | 2022-04-11 | 2022-07-01 | 北京百度网讯科技有限公司 | 模型推理加速方法、装置、电子设备及存储介质 |
CN114781620A (zh) * | 2022-04-26 | 2022-07-22 | 科大讯飞股份有限公司 | 一种数据处理模型构建方法、装置、设备及存储介质 |
CN114997384A (zh) * | 2022-06-15 | 2022-09-02 | 上海达网科技有限公司 | 一种基于标准化算子接口的神经网络模型部署方法及系统 |
CN115099399A (zh) * | 2022-06-27 | 2022-09-23 | 清华大学 | 神经网络模型部署方法、装置、电子设备及存储介质 |
CN115115891A (zh) * | 2022-07-19 | 2022-09-27 | 安徽江淮汽车集团股份有限公司 | 基于嵌入式平台的目标检测模型部署应用方法 |
CN115659281A (zh) * | 2022-11-16 | 2023-01-31 | 之江实验室 | 一种自适应加速算子融合的方法及装置 |
CN116306866A (zh) * | 2023-02-24 | 2023-06-23 | 浙江大华技术股份有限公司 | 一种网络模型的部署方法、计算机设备和存储介质 |
CN116126365A (zh) * | 2023-04-18 | 2023-05-16 | 之江实验室 | 一种模型部署的方法、系统、存储介质及电子设备 |
CN116824480A (zh) * | 2023-04-18 | 2023-09-29 | 中国科学院信息工程研究所 | 基于DeepStream的监控视频分析方法及系统 |
CN116862951A (zh) * | 2023-07-26 | 2023-10-10 | 中国电子科技南湖研究院 | 一种基于Transformer的轻量化目标识别与跟踪系统及方法 |
Non-Patent Citations (1)
Title |
---|
王日海: "《深度学习嵌入式应用开发 基于RK3399Pro和RK3588》", 30 November 2022, 机械工业出版社, pages: 153 - 155 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110070056B (zh) | 图像处理方法、装置、存储介质及设备 | |
US20210133468A1 (en) | Action Recognition Method, Electronic Device, and Storage Medium | |
CN113344901B (zh) | 涂胶缺陷检测方法、装置、存储介质及电子设备 | |
US11443438B2 (en) | Network module and distribution method and apparatus, electronic device, and storage medium | |
CN110674719A (zh) | 目标对象匹配方法及装置、电子设备和存储介质 | |
CN110751659B (zh) | 图像分割方法及装置、终端、存储介质 | |
CN111104920B (zh) | 视频处理方法及装置、电子设备和存储介质 | |
CN115641518B (zh) | 一种无人机用视图感知网络模型及目标检测方法 | |
JP2021536069A (ja) | 信号表示灯の状態検出方法及び装置、運転制御方法及び装置 | |
CN106384348B (zh) | 监控图像的异常检测方法及装置 | |
CN112381858B (zh) | 目标检测方法、装置、存储介质及设备 | |
CN107563994A (zh) | 图像的显著性检测方法及装置 | |
CN109255784B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN112202962B (zh) | 屏幕亮度调节方法、装置及存储介质 | |
CN112926510A (zh) | 异常驾驶行为识别方法及装置、电子设备和存储介质 | |
CN111435422A (zh) | 动作识别方法、控制方法及装置、电子设备和存储介质 | |
CN111753611A (zh) | 图像检测方法及装置和系统、电子设备和存储介质 | |
CN110363695B (zh) | 一种基于机器人的人群队列控制方法及装置 | |
CN117372846A (zh) | 基于嵌入式平台的目标检测方法、平台、装置及设备 | |
CN115953710A (zh) | 一种行为识别方法、装置、电子设备及存储介质 | |
CN116188846A (zh) | 一种基于振动图像的设备故障检测方法及装置 | |
CN113518171B (zh) | 图像处理方法、装置、终端设备和介质 | |
CN111008606B (zh) | 图像预测方法及装置、电子设备和存储介质 | |
CN114037763A (zh) | 目标对象缺失检测方法、装置、存储介质及电子设备 | |
CN115700841A (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 |