CN110472516A - 一种人物图像识别***的构建方法、装置、设备及*** - Google Patents

一种人物图像识别***的构建方法、装置、设备及*** Download PDF

Info

Publication number
CN110472516A
CN110472516A CN201910666702.6A CN201910666702A CN110472516A CN 110472516 A CN110472516 A CN 110472516A CN 201910666702 A CN201910666702 A CN 201910666702A CN 110472516 A CN110472516 A CN 110472516A
Authority
CN
China
Prior art keywords
plug
unit
character image
network model
neural network
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
CN201910666702.6A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910666702.6A priority Critical patent/CN110472516A/zh
Publication of CN110472516A publication Critical patent/CN110472516A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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/045Combinations of networks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification

Landscapes

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

Abstract

本发明公开了一种人物图像识别***的构建方法、装置、设备及***,所述方法包括:获取用于构建人物图像识别***的基础框架;响应于接收到的插件加载指令,确定待加载插件,所述插件加载指令中携带有指向至少一个业务插件的配置参数;基于配置脚本和所述待加载插件的配置参数,生成用于构建所述人物图像识别***的业务代码;融合所述业务代码与所述基础框架,以构建所述人物图像识别***;其中,所述业务插件包括从图像获取插件、神经网络模型插件组成的群组中选择的至少一个,所述神经网络模型插件的配置参数指向至少一个用于人物图像识别的神经网络模型。能够大大提高开发人员的开发效率,可以满足不同业务场景的不同开发需求。

Description

一种人物图像识别***的构建方法、装置、设备及***
技术领域
本发明涉及互联网通信技术领域,尤其涉及一种人物图像识别***的构建 方法、装置、设备及***。
背景技术
人工智能(Artificial Intelligence,AI),是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用***的一门新的技术科学。随着人工智能 技术研究和进步,人工智能技术在多个领域展开研究和应用。
现有的在线***往往都基于某类型应用场景,针对每个不同类型的应用场 景,往往需要编写不同的业务代码。甚至对于某类型应用场景下的各个细分业 务场景,也针对每个细分业务场景的不同需求,分别建立代码库以搭建该在线 ***。比如,业务场景1和业务场景2中业务流程相同或相近,就业务场景中 类型模块的重复开发会带来较大的开发及维护成本。因此,对于具有相同或相 近的业务流程的在线***的开发,需要提供更有效的方案,降低代码开发成本 和维护开销。
发明内容
为了解决现有技术应用在对具有相同或相近的业务流程的在线***进行开 发时,效率低、成本高等问题,本发明提供了一种人物图像识别***的构建方 法、装置、设备及***:
一方面,本发明提供了一种人物图像识别***的构建方法,所述方法包括:
获取用于构建人物图像识别***的基础框架;
响应于接收到的插件加载指令,确定待加载插件,所述插件加载指令中携 带有指向至少一个业务插件的配置参数;
基于配置脚本和所述待加载插件的配置参数,生成用于构建所述人物图像 识别***的业务代码;
融合所述业务代码与所述基础框架,以构建所述人物图像识别***;
其中,所述业务插件包括从图像获取插件、神经网络模型插件组成的群组 中选择的至少一个,所述神经网络模型插件的配置参数指向至少一个用于人物 图像识别的神经网络模型。
另一方面提供了一种人物图像识别***的构建装置,所述装置包括:
基础框架获取模块:用于获取用于构建人物图像识别***的基础框架;
待加载插件确认模块:用于响应于接收到的插件加载指令,确定待加载插 件,所述插件加载指令中携带有指向至少一个业务插件的配置参数;
业务代码生成模块:用于基于配置脚本和所述待加载插件的配置参数,生 成用于构建所述人物图像识别***的业务代码;
融合模块:用于融合所述业务代码与所述基础框架,以构建所述人物图像 识别***;
其中,所述业务插件包括从图像获取插件、神经网络模型插件组成的群组 中选择的至少一个,所述神经网络模型插件的配置参数指向至少一个用于人物 图像识别的神经网络模型。
另一方面提供了一种电子设备,所述电子设备包括处理器和存储器,所述 存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一 条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以 实现如上述的人物图像识别***的构建方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一 条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段 程序、所述代码集或指令集由处理器加载并执行以实现如上述的人物图像识别 ***的构建方法。
本发明提供的一种人物图像识别***的构建方法、装置、设备及***,具 有如下技术效果:
本发明应用于开发人物图像识别***。能够大大提高开发人员的开发效率, 可以满足不同业务场景的不同开发需求。插件的形式,能够减少重复开发的工 作量,同时也便于维护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将 对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下 面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的一种应用环境的示意图;
图2是本发明实施例提供的一种人物图像识别***的构建方法的流程示意 图;
图3是本发明实施例提供的应用于小型智慧商店业务场景的对应***的业 务流程示意图;
图4是本发明实施例提供的应用于大型智慧商场业务场景的对应***的业 务流程示意图;
图5是本发明实施例提供的对人物图像识别***进行插件更新以及使用的 一种流程示意图;
图6是本发明实施例提供的人物图像识别***的一种业务流程示意图;
图7也是本发明实施例提供的人物图像识别***的一种业务流程示意 图;
图8是本发明实施例提供的区块链网络对应的分布式数据库集群的结 构示意图;
图9是本发明实施例提供的一种人物图像识别***的构建装置的组成框图;
图10是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括” 和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了 一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的 那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品 或设备固有的其它步骤或单元。
请参阅图1,图1是本发明实施例提供的一种应用环境的示意图,可以包括 客户端01和服务器02,客户端与服务器通过网络连接。用户通过客户端将人物 图像发送至服务器,服务器对接收到的人物图像进行识别。需要说明的是,图1 仅仅是一种示例。
具体的,客户端01可以包括智能手机、台式电脑、平板电脑、笔记本电脑、 数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中 的软体,例如一些服务商提供给用户的网页页面,也可以为该些服务商提供给 用户的应用。
具体的,本说明书实施例中,所述服务器02可以包括一个独立运行的服务 器,或者分布式服务器,或者由多个服务器组成的服务器集群。服务器02可以 包括有网络通信单元、处理器和存储器等等。
以下介绍本发明一种人物图像识别***的构建方法的具体实施例,图2是 本发明实施例提供的一种人物图像识别***的构建方法的流程示意图,本说明 书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的 劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多 步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的***或服务 器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例 如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包 括:
S201:获取用于构建人物图像识别***的基础框架;
在本发明实施例中,应用于某类型应用场景下的人物图像识别***往往具 有相同或相近的业务流程。比如,当应用于需要进行人物图像识别的智慧门店 应用场景下时,图3所示的功能模块为针对小型智慧商店业务场景而设置的, 图4所示的功能模块为针对大型智慧商场业务场景而设置的。由图3、4可知, 两种业务场景具有相同或相近的业务流程:视频输入设备(硬件模块)——》 图像获取模块(用于从视频输入设备取流)——》算法模块(用于识别获取的 图像)——》存储模块——》辅助模块(比如用于处理日志、进行监控等)。 其中,相比于针对小型商店业务场景而设置的功能模块,针对大型商场业务场 景而设置的功能模块中,硬件模块中设置的摄像头类型更多,以及算法模块中 对图像进行识别的维度更多。
考虑到应用于某类型应用场景下的人物图像识别***具有的相同或相近的 业务流程,可以设置对应的基础框架,所述基础框架可以为构建的针对具体业 务场景的人物图像识别***提供基础代码库、公共类库、基础服务接口等。获 取用于构建人物图像识别***的基础框架,可以在一定程度上降低重复开发会 带来较大的开发成本。比如,对于如3、4所示的业务场景,可以不再需要从零 开始开发图像获取模块。
当然,需要进行人物图像识别的应用场景不限于智慧门店(商店、商场), 还可以为智慧零售、智慧社区等。
S202:响应于接收到的插件加载指令,确定待加载插件,所述插件加载指 令中携带有指向至少一个业务插件的配置参数;
在本发明实施例中,所述业务插件为对应用于实现人物图像识别***的业 务流程的功能模块设置。所述业务插件可以包括图像获取插件、神经网络模型 插件组成的群组中选择的至少一个。根据插件加载指令中至少一个业务插件的 配置参数,可以确定某一业务插件是否需要加载。可以结合业务场景的具体需 求,更细粒度的选择需要加载的业务插件。
在一个具体的实施例中,神经网络模型插件对应算法模块,所述神经网络 模型插件的配置参数指向至少一个用于人物图像识别的神经网络模型。用于人 物图像识别的神经网络模型可以为用于人脸检测、人体检测、人体跟踪、人头 体绑定、人脸质量分、姿态检测等的神经网络模型。在实际应用中,某智慧门 店可以基于构建的人物图像识别***对到店的用户进行人物图像识别,用户在 智慧门店内的活动可以由视频输入设备(比如摄像头)进行拍摄,神经网络模 型插件可以对前述拍摄采集到的原始图像进行人物图像识别。
通过人脸检测对应的神经网络模型可以确定原始图像中是否含有人脸;若 有人脸,可以将人脸区域从原始图像中裁剪出来,也可与返回人脸区域的位置、 大小和人脸属性分析结果。进一步的,所述人脸属性分析结果可以包括性别、 表情(中性、微笑、大笑)、年龄(误差估计小于5岁)、是否佩戴眼镜(普 通眼镜、墨镜)、是否佩戴帽子、是否佩戴口罩等。
通过人体检测对应的神经网络模型可以确定原始图像中是否含有人体;若 有人体,可以将人体区域从原始图像中裁剪出来,也可与返回人体区域的位置、 大小和人体属性分析结果。进一步的,所述人体属性分析结果可以包括性别、 身高、体重等。
通过人体跟踪对应的神经网络模型可以根据监控时间段内多个摄像头拍摄 到的针对用户A的原始图像,确定用户A在该监控时间段内的运动轨迹。比如, 用户A和其他5个用户一起在智慧门店内走动,位于智慧门店不同位置的5个 摄像头有拍到用户A和其他5个用户的原始图像。基于上述来自5个摄像头的 原始图像,可以确定用户A(从6个用户中定位出来)在监控时间段内的运动轨 迹。
通过人头体绑定对应的神经网络模型可以基于人体检测的识别结果,将获 取到的仅有人脸的原始图像(或者仅有躯干+四肢的原始图像)与对应的躯干+ 四肢参考图像(或者人脸参考图像)进行绑定。比如,用户B在智慧门店内走 动,某一摄像头对用户B进行拍摄时,采集到的原始图像可能没有指向用户B 脸部的人脸区域,可以将原始图像中的身体区域分割出来与对应的人脸参考图 像(对应用户B)作绑定,得到指向用户B的识别结果。
通过人脸质量分对应的神经网络模型可以根据质量评估因素(比如图像的 模糊情况、图像中目标区域受遮挡的情况等)对原始图像进行质量分评估,进 而可以将评估达到质量分阈值的图像用于进行人脸检测、人体检测、人脸聚类 (用于将一个图像集合内的各个人脸区域根据身份进行分组)、人脸检索(比 如基于原始图像的人脸区域,和已有人脸库中的N个人脸图像进行比对,找出 最相似的一张脸或多张脸,并给出相似度排序)等。比如,由于摄像头设置于 智慧门店的不同位置,不同摄像头的拍摄角度也不同。位于位置甲的用户C可 能受到多个摄像头的拍摄,其中一些摄像头采集到的原始图像可能受限于角度, 这样抓拍到用户C的原始图像对应的分数较低。若此时用户C作出摇头动作, 抓拍到用户C的原始图像中可能存在较模糊的图像,可以将这些质量分较低的 原始图像作过滤处理。
通过姿态检测对应的神经网络模型可以确定原始图像中人脸姿态或者人体 姿态是否满足预设的标准姿态,比如确认是否拍到某用户正脸面对对应的摄像 头。
在实际应用中,可以根据应用场景的需求等,选择神经网络模型插件配置 的神经网络模型(对应的功能、相互间的设置顺序、使用的具体算法等)。比 如可以选择一个用作分割器的第一神经网络模型和一个用作分类器的第二神经 网络模型。在使用时,可以设置原始图像先输入第一神经网络模型进行分割得 到目标图像,再将目标图像输入第二神经网络模型进行分类得到识别结果。具 体的,所述第一神经网络模型可以基于MaskRCNN(实例分割算法)进行图像分 割,MaskRCNN很好的结合了FPN(Feature Pyramid Networks,特征金字塔网络 算法)/RPN(RegionProposal Network,区域候选网络算法)/Classification(分类 算法)/Detection(检测算法)的特性,适合作图像的检测与分割。所述第一神 经网络模型中的基础网络可以选用残差网络ResNet101,以兼顾速度与准确率。所述第二神经网络模型中的基础网络可以选用Inception(一种网络模型结构) -ResNet(残差网络)-V2。当然,对于神经网络模型插件中神经网络模型的配置 不局限于上述,可以兼顾性能因素进行配置。
另一个具体的实施例中,所述业务插件还可以包括从日志处理插件、监控 插件组成的群组中选择的至少一个,所述日志处理插件用于处理所述人物图像 识别***生成的日志,所述监控插件用于监控所述人物图像识别***的运行状 态。
所述日志处理插件对应的日志处理模块可以采用分布式管理,比如采用分 布式数据库集群的形式,如图8所示,本说明书实施例中分布式数据库集群还 可以包括区块链网络对应的分布式数据库集群,可以包括分布式节点801、808、 803、804、805和806。各个分布式节点之间可以通过通信链路进行连接,比 如可以通过有线通信链路或无线通信链路进行连接等。
所述监控插件对应的监控模块可以在检测到某一监控对象的监控指标满足 报警规则中的报警条件时,进行报警并向开发人员展示报警信息,所述报警信 息包括所述监控指标的信息和不同于所述监控指标的关联指标的信息。可以有 效定位发生异常的位置和时间,进而解决问题。监控对象的的设置时分插件的, 甚至就某个插件内的功能单元作进一步设置。
S203:基于配置脚本和所述待加载插件的配置参数,生成用于构建所述人 物图像识别***的业务代码;
在本发明实施例中,配置脚本可以为一SHELL脚本(利用shell的功能所写 的一个程序;shell,命令解析器)。通过SHELL脚本,输入需要的参数(所述待 加载插件的配置参数),可以用于构建所述人物图像识别***的业务代码。比 如:
“→Desktop bash generator.sh
开始生成,请按提示输入参数
请输入项目名称:test
是否使用软解码,输入true/false,默认为true:true
选择需要加载的插件
1.人脸检测
2.人脸质量分
3.人体检测
4.人体跟踪
5.人头体绑定
6.姿态检测
以空格分割:123456
是否需要日志处理插件,输入true/false,默认为false:false
是否需要监控插件,输入true/false,默认为true:true
开始加载...
生成基础代码...
加载算法模块...
加载边缘模块...
生成完成”
这样以插件的形式集成人物图像识别业务流程中的各功能模块,图像获取 模块、算法模块以及辅助模块等可以分别独立发布,互不干扰,保证单个模块 的更新不影响整体业务逻辑,便于管理和维护。
S204:融合所述业务代码与所述基础框架,以构建所述人物图像识别***;
在本发明实施例中,可以将所述业务代码注入所述基础框架中,进而得到 所述人物图像识别***。具体的,可以根据基础框架中配置的代码注入规则, 将所述业务代码注入所述基础框架中,得到融合代码;对所述融合代码进行编 译,得到可执行代码,并运行所述可执行代码,以实现所述人物图像识别*** 的在线应用。开发人员可以不再需要编写基础框架对应的代码,能够减少开发 中的编写大量重复代码及其相关调试、测试等引发的工作量,开发人员只需要 关注具体业务场景对应的业务逻辑本身。
在一个具体的实施例中,如图5所示,当所述待加载插件包括所述神经网 络模型插件时,所述融合所述业务代码与所述基础框架,以构建所述人物图像 识别***,包括:
S501:响应于接收到的插件更新指令,确定所述神经网络模型插件对应的 初始网络模型,以及获取人物样本图像;
根据插件更新指令,可以确定所述初始网络模型为用于人脸检测的神经网 络模型和/或用于人体检测的神经网络模型。相应的,获取人物样本图像。
S502:基于所述人物样本图像,训练所述初始网络模型,得到目标网络模 型;
可以基于人物样本图像,训练所述初始网络模型,得到中间网络模型;再 将已标注测试图像输入所述中间网络模型进行预测,得到所述测试图像对应的 预测结果;接着,基于所述测试图像,根据对应的预测结果和标注标识之间的 差异,调整所述中间网络模型对应的模型参数至所述差异对应的损失值被收敛 至预设阈值,以得到所述目标网络模型。
S503:基于所述目标网络模型,更新所述神经网络模型插件。
更新所述神经网络模型插件,可以使得对应的算法模块对于应用场景的需 求适应性更好。以插件的形式集成人物图像识别业务流程中的各功能模块,在 更新时模块间的耦合性和依赖性较低,更便于维护。当然,也可以对图像获取 插件、日志处理插件、监控插件等作对应的参数调整以更新。各个插件的更新 也可以同步进行,相互间的影响程度低。对于各个插件的更新不局限于对预设 的基础组件的参数调整等,还包括对对应的基础组件进行修改、补充等。
在另一个具体的实施例中,如图5所示,当所述待加载插件包括所述图像 获取插件和所述神经网络模型插件时,所述融合所述业务代码与所述基础框架, 以构建所述人物图像识别***,还包括:
S601:基于所述图像获取插件,获取所述待处理人物图像;
在实际应用中,如图6、7所示,可以从视频输入设备(比如球机、枪机、 AI摄像头)获取原始视频流;对所述原始视频流进行解码处理,得到视频帧, 所述视频帧包括至少一个所述待处理人物图像。图像获取插件对应的图像获取 模块可以从摄像头中拉取原始视频流,并进行解码得到视频帧,进而将视频帧 输入神经网络模型插件对应的算法模块中进行处理。在算法模块中进行的人物 图像识别过程可以包括分别进行的人脸检测、人脸质量分计算、人体检测,识 别结果可以存入数据库中进行持久化存储。
S602:基于所述神经网络模型插件,分别将所述待处理人物图像输入各个 所述神经网络模型进行识别,以得到所述待处理人物图像对应的各个识别结果。
对于不同业务场景,可能需要在所述神经网络模型插件对应算法模块中组 合指向不同人物图像识别功能的神经网络模型。如图6、7所示,本说明书实施 例提出了定制算法流水线的概念,以更高的灵活度支持不同的业务逻辑。可以 将人脸检测、人脸质量过滤、人脸检测、人脸相似度匹配这4个算法模块组合 起来,将对应的神经网络模型组合指向的算法模块定义为人脸识别流水线。基 于定制算法流水线,可以只关注最后的输出结果,不在意中间过程,类似于将 多个神经网络模型组合成一个函数,给定输入,得到输出。算法模块才采用GPU (Graphics Processing Unit,图形处理器)进行计算处理,基于定制算法流水线, 对应的神经网络模型组合在使用时只需要将对应数据拷贝一次至显存,而非对 于用到的每个神经网络模型都进行一次数据拷贝,能够极大的提高运行效率, 同时节约显存资源、提高性能。其中,所述人物图像识别***运行的硬件环境 可以是搭载于含有GPU的X86服务器。
进一步的,图像获取插件对应的图像获取模块可以创建数据写入线程,所 述数据写入线程对应一共享内存队列;通过所述数据写入线程将所述待处理人 物图像对应的数据(比如原始数据帧)写入所述共享内存队列。相应的,神经 网络模型插件对应的算法模块可以创建数据读取线程,所述数据读取线程对应 所述共享内存队列;通过所述数据读取线程从所述共享内存队列中读取所述待 处理人物图像对应的数据(比如原始数据帧);进而将所述待处理人物图像输 入各个所述神经网络模型模型进行识别,以得到所述待处理人物图像对应的各 个识别结果。通过共享内存队列的方式进行通信,可以保证图像获取模块与算 法模块的更新不会相互影响。
数据写入线程将原始数据帧写入队列,写入队列中的数据可以是基于时序 的,也可以是基于不同视频输入设备分类设置的(比如摄像头设置有对应的识 别标识,位于智慧门店入口处的摄像头1-3对应识别标识A,位于智慧门店的收 银处的摄像头7-12对应识别标识D)。相应的,数据读取线程,可以根据根据 不同的维度从队列中读取数据。比如可以根据时间或者图像数量等维度来进行 分批统一处理,提高运算效率。共享内存队列的存在,允许图像获取模块的生 产速度和算法模块的消费速度的曲线图有尖刺。例如某个时刻,图像获取模块 生产过快,由于队列的存在,数据也不会马上丢失,算法模块可以慢慢跟上图像获取模块的生产速度,这样输入神经网络模型的数据可以更为平滑。
由以上本说明书实施例提供的技术方案可见,本说明书实施例应用于开发 人物图像识别***。以插件的形式集成人物图像识别业务流程中的各功能模块, 基于配置脚本和待加载插件的配置参数,生成用于构建所述人物图像识别*** 的业务代码。融合基础框架与业务代码,构建得到人物图像识别***。能够大 大提高开发人员的开发效率,可以满足不同业务场景的不同开发需求。插件的 形式,能够减少重复开发的工作量,同时也便于维护。
本发明实施例还提供了一种人物图像识别***的构建装置,如图9所示, 所述装置包括:
基础框架获取模块910:用于获取用于构建人物图像识别***的基础框架;
待加载插件确认模块920:用于响应于接收到的插件加载指令,确定待加载 插件,所述插件加载指令中携带有指向至少一个业务插件的配置参数;
业务代码生成模块930:用于基于配置脚本和所述待加载插件的配置参数, 生成用于构建所述人物图像识别***的业务代码;
融合模块940:用于融合所述业务代码与所述基础框架,以构建所述人物图 像识别***;
其中,所述业务插件包括从图像获取插件、神经网络模型插件组成的群组 中选择的至少一个,所述神经网络模型插件的配置参数指向至少一个用于人物 图像识别的神经网络模型。
在一个具体的实施例中,当所述待加载插件包括所述神经网络模型插件时, 所述融合模块940包括:
插件更新指令接收单元:用于响应于接收到的插件更新指令,确定所述神 经网络模型插件对应的初始网络模型,以及获取人物样本图像;
模型训练单元:用于基于所述人物样本图像,训练所述初始网络模型,得 到目标网络模型;
插件更新单元:用于基于所述目标网络模型,更新所述神经网络模型插件。
需要说明的,所述装置实施例中的装置与方法实施例基于同样的发明构思。
本发明实施例提供了一种电子设备,该电子设备包括处理器和存储器,该 存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条 指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上 述方法实施例所提供的人物图像识别***的构建方法。
进一步地,图10示出了一种用于实现本发明实施例所提供的人物图像识别 ***的构建方法的电子设备的硬件结构示意图,所述设备可以参与构成或包含 本发明实施例所提供的装置。如图10所示,设备100可以包括一个或多个(图 中采用1002a、1002b,……,1002n来示出)处理器1002(处理器1002可以包 括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储 数据的存储器1004、以及用于通信功能的传输装置1006。除此以外,还可以包 括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域 普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的 结构造成限定。例如,电子设备100还可包括比图10中所示更多或者更少的组 件,或者具有与图10所示不同的配置。
应当注意到的是上述一个或多个处理器1002和/或其他数据处理电路在本 文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体 现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的 处理模块,或全部或部分的结合到电子设备100(或移动设备)中的其他元件中 的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理 器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器1004可用于存储应用软件的软件程序以及模块,如本发明实施例中 所述的方法对应的程序指令/数据存储装置,处理器1002通过运行存储在存储器 104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述 的一种人物图像识别***的构建方法。存储器1004可包括高速随机存储器,还 可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易 失性固态存储器。在一些实例中,存储器1004可进一步包括相对于处理器1002 远程设置的存储器,这些远程存储器可以通过网络连接至电子设备100。上述网 络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例 可包括电子设备100的通信供应商提供的无线网络。在一个实例中,传输装置 1006包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与 其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1006可 以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户 能够与电子设备100(或移动设备)的用户界面进行交互。
本发明的实施例还提供了一种存储介质,所述存储介质可设置于电子设备 之中以保存用于实现方法实施例中一种人物图像识别***的构建方法相关的至 少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段 程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的 人物图像识别***的构建方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服 务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包 括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器 (RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储 程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例 的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要 求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不 同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描 绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某 些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相 似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。 尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以 描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过 硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于 一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或 光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的 精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。

Claims (10)

1.一种人物图像识别***的构建方法,其特征在于,所述方法包括:
获取用于构建人物图像识别***的基础框架;
响应于接收到的插件加载指令,确定待加载插件,所述插件加载指令中携带有指向至少一个业务插件的配置参数;
基于配置脚本和所述待加载插件的配置参数,生成用于构建所述人物图像识别***的业务代码;
融合所述业务代码与所述基础框架,以构建所述人物图像识别***;
其中,所述业务插件包括从图像获取插件、神经网络模型插件组成的群组中选择的至少一个,所述神经网络模型插件的配置参数指向至少一个用于人物图像识别的神经网络模型。
2.根据权利要求1所述的方法,其特征在于,当所述待加载插件包括所述神经网络模型插件时,所述融合所述业务代码与所述基础框架,以构建所述人物图像识别***,包括:
响应于接收到的插件更新指令,确定所述神经网络模型插件对应的初始网络模型,以及获取人物样本图像;
基于所述人物样本图像,训练所述初始网络模型,得到目标网络模型;
基于所述目标网络模型,更新所述神经网络模型插件。
3.根据权利要求1所述的方法,其特征在于,当所述待加载插件包括所述图像获取插件和所述神经网络模型插件时,所述融合所述业务代码与所述基础框架,以构建所述人物图像识别***,还包括:
基于所述图像获取插件,获取所述待处理人物图像;
基于所述神经网络模型插件,分别将所述待处理人物图像输入各个所述神经网络模型进行识别,以得到所述待处理人物图像对应的各个识别结果。
4.根据权利要求3所述的方法,其特征在于,所述基于所述图像获取插件,获取所述待处理人物图像,包括:
从视频输入设备的获取原始视频流;
对所述原始视频流进行解码处理,得到视频帧,所述视频帧包括至少一个所述待处理人物图像。
5.根据权利要求3所述的方法,其特征在于:
所述基于所述图像获取插件,获取所述待处理人物图像,包括:
创建数据写入线程,所述数据写入线程对应一共享内存队列;
通过所述数据写入线程将所述待处理人物图像对应的数据写入所述共享内存队列;
所述基于所述神经网络模型插件,分别将所述待处理人物图像输入各个所述神经网络模型模型进行识别,以得到所述待处理人物图像对应的各个识别结果,包括:
创建数据读取线程,所述数据读取线程对应所述共享内存队列;
通过所述数据读取线程从所述共享内存队列中读取所述待处理人物图像对应的数据;
将所述待处理人物图像输入各个所述神经网络模型模型进行识别,以得到所述待处理人物图像对应的各个识别结果。
6.根据权利要求1所述的方法,其特征在于,所述业务插件还包括从日志处理插件、监控插件组成的群组中选择的至少一个,所述日志处理插件用于处理所述人物图像识别***生成的日志,所述监控插件用于监控所述人物图像识别***的运行状态。
7.一种人物图像识别***的构建装置,其特征在于,所述装置包括:
基础框架获取模块:用于获取用于构建人物图像识别***的基础框架;
待加载插件确认模块:用于响应于接收到的插件加载指令,确定待加载插件,所述插件加载指令中携带有指向至少一个业务插件的配置参数;
业务代码生成模块:用于基于配置脚本和所述待加载插件的配置参数,生成用于构建所述人物图像识别***的业务代码;
融合模块:用于融合所述业务代码与所述基础框架,以构建所述人物图像识别***;
其中,所述业务插件包括从图像获取插件、神经网络模型插件组成的群组中选择的至少一个,所述神经网络模型插件的配置参数指向至少一个用于人物图像识别的神经网络模型。
8.根据权利要求7所述的装置,其特征在于,当所述待加载插件包括所述神经网络模型插件时,所述融合模块包括:
插件更新指令接收单元:用于响应于接收到的插件更新指令,确定所述神经网络模型插件对应的初始网络模型,以及获取人物样本图像;
模型训练单元:用于基于所述人物样本图像,训练所述初始网络模型,得到目标网络模型;
插件更新单元:用于基于所述目标网络模型,更新所述神经网络模型插件。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-6任一所述的人物图像识别***的构建方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-6任一所述的人物图像识别***的构建方法。
CN201910666702.6A 2019-07-23 2019-07-23 一种人物图像识别***的构建方法、装置、设备及*** Pending CN110472516A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910666702.6A CN110472516A (zh) 2019-07-23 2019-07-23 一种人物图像识别***的构建方法、装置、设备及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910666702.6A CN110472516A (zh) 2019-07-23 2019-07-23 一种人物图像识别***的构建方法、装置、设备及***

Publications (1)

Publication Number Publication Date
CN110472516A true CN110472516A (zh) 2019-11-19

Family

ID=68509778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910666702.6A Pending CN110472516A (zh) 2019-07-23 2019-07-23 一种人物图像识别***的构建方法、装置、设备及***

Country Status (1)

Country Link
CN (1) CN110472516A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290800A (zh) * 2020-02-11 2020-06-16 深圳壹账通智能科技有限公司 一种人脸图像的识别方法及设备
CN111368803A (zh) * 2020-03-28 2020-07-03 河南工业职业技术学院 一种人脸识别方法及***
CN111552524A (zh) * 2020-05-06 2020-08-18 Oppo(重庆)智能科技有限公司 一种插件加载方法、装置及计算机可读存储介质
CN111611065A (zh) * 2020-05-29 2020-09-01 远光软件股份有限公司 机器学习算法的调用方法、装置、存储介质及电子设备
CN112001230A (zh) * 2020-07-09 2020-11-27 浙江大华技术股份有限公司 睡觉行为的监控方法、装置、计算机设备和可读存储介质
CN113204336A (zh) * 2021-05-21 2021-08-03 珠海金山网络游戏科技有限公司 一种游戏平台创建方法及装置
CN113542796A (zh) * 2020-04-22 2021-10-22 腾讯科技(深圳)有限公司 视频评测方法、装置、计算机设备和存储介质
CN114531603A (zh) * 2022-02-10 2022-05-24 广联达科技股份有限公司 一种视频流的图像处理方法、***及电子设备
WO2023040151A1 (zh) * 2021-09-17 2023-03-23 上海商汤智能科技有限公司 算法应用元生成方法、装置、电子设备、计算机可读存储介质及计算机程序产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297381A (zh) * 2012-02-22 2013-09-11 阿里巴巴集团控股有限公司 一种基于插件的业务访问方法及其***
CN107301377A (zh) * 2017-05-26 2017-10-27 浙江大学 一种基于深度相机的人脸与行人感知***
CN107358232A (zh) * 2017-06-28 2017-11-17 中山大学新华学院 基于插件的***识别方法、及识别与管理***
CN108416440A (zh) * 2018-03-20 2018-08-17 上海未来伙伴机器人有限公司 一种神经网络的训练方法、物体识别方法及装置
CN108694083A (zh) * 2017-04-07 2018-10-23 腾讯科技(深圳)有限公司 一种服务器的数据处理方法和装置
US20190220253A1 (en) * 2018-01-15 2019-07-18 Cognizant Technology Solutions India Pvt. Ltd. System and method for improving software code quality using artificial intelligence techniques

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297381A (zh) * 2012-02-22 2013-09-11 阿里巴巴集团控股有限公司 一种基于插件的业务访问方法及其***
CN108694083A (zh) * 2017-04-07 2018-10-23 腾讯科技(深圳)有限公司 一种服务器的数据处理方法和装置
CN107301377A (zh) * 2017-05-26 2017-10-27 浙江大学 一种基于深度相机的人脸与行人感知***
CN107358232A (zh) * 2017-06-28 2017-11-17 中山大学新华学院 基于插件的***识别方法、及识别与管理***
US20190220253A1 (en) * 2018-01-15 2019-07-18 Cognizant Technology Solutions India Pvt. Ltd. System and method for improving software code quality using artificial intelligence techniques
CN108416440A (zh) * 2018-03-20 2018-08-17 上海未来伙伴机器人有限公司 一种神经网络的训练方法、物体识别方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290800A (zh) * 2020-02-11 2020-06-16 深圳壹账通智能科技有限公司 一种人脸图像的识别方法及设备
WO2021159672A1 (zh) * 2020-02-11 2021-08-19 深圳壹账通智能科技有限公司 一种人脸图像的识别方法及设备
CN111368803A (zh) * 2020-03-28 2020-07-03 河南工业职业技术学院 一种人脸识别方法及***
CN113542796A (zh) * 2020-04-22 2021-10-22 腾讯科技(深圳)有限公司 视频评测方法、装置、计算机设备和存储介质
CN113542796B (zh) * 2020-04-22 2023-08-08 腾讯科技(深圳)有限公司 视频评测方法、装置、计算机设备和存储介质
CN111552524A (zh) * 2020-05-06 2020-08-18 Oppo(重庆)智能科技有限公司 一种插件加载方法、装置及计算机可读存储介质
CN111552524B (zh) * 2020-05-06 2023-10-13 Oppo(重庆)智能科技有限公司 一种插件加载方法、装置及计算机可读存储介质
CN111611065A (zh) * 2020-05-29 2020-09-01 远光软件股份有限公司 机器学习算法的调用方法、装置、存储介质及电子设备
CN111611065B (zh) * 2020-05-29 2023-08-11 远光软件股份有限公司 机器学习算法的调用方法、装置、存储介质及电子设备
CN112001230A (zh) * 2020-07-09 2020-11-27 浙江大华技术股份有限公司 睡觉行为的监控方法、装置、计算机设备和可读存储介质
CN113204336A (zh) * 2021-05-21 2021-08-03 珠海金山网络游戏科技有限公司 一种游戏平台创建方法及装置
WO2023040151A1 (zh) * 2021-09-17 2023-03-23 上海商汤智能科技有限公司 算法应用元生成方法、装置、电子设备、计算机可读存储介质及计算机程序产品
CN114531603A (zh) * 2022-02-10 2022-05-24 广联达科技股份有限公司 一种视频流的图像处理方法、***及电子设备
CN114531603B (zh) * 2022-02-10 2024-03-22 广联达科技股份有限公司 一种视频流的图像处理方法、***及电子设备

Similar Documents

Publication Publication Date Title
CN110472516A (zh) 一种人物图像识别***的构建方法、装置、设备及***
Kim et al. Drivegan: Towards a controllable high-quality neural simulation
US20210158023A1 (en) System and Method for Generating Image Landmarks
CN109978918A (zh) 一种轨迹追踪方法、装置和存储介质
CN110162462A (zh) 基于场景的人脸识别***的测试方法、***和计算机设备
CN109978833A (zh) 图像质量自动检测方法、***、设备及存储介质
US20230053911A1 (en) Detecting an object in an image using multiband and multidirectional filtering
US20230060211A1 (en) System and Method for Tracking Moving Objects by Video Data
US20220366244A1 (en) Modeling Human Behavior in Work Environment Using Neural Networks
CN108198172A (zh) 图像显著性检测方法和装置
Núñez et al. Multiview 3D human pose estimation using improved least-squares and LSTM networks
CN110119730A (zh) 一种监控视频处理方法、***、终端及存储介质
CN114332911A (zh) 一种头部姿态检测方法、装置及计算机设备
Rusdi et al. Student attendance using face recognition technology
Fahmy et al. Simulator-based explanation and debugging of hazard-triggering events in DNN-based safety-critical systems
Kachhoria et al. Lie group dee learning technique to identify the precision errors by map geometry functions in smart manufacturing
CN108875500A (zh) 行人再识别方法、装置、***及存储介质
KR101675692B1 (ko) 구조 학습 기반의 군중 행동 인식 방법 및 장치
CN112529078A (zh) 一种业务处理方法、装置及设备
Karavarsamis et al. Classifying Salsa dance steps from skeletal poses
CN110398957A (zh) 自动驾驶行为预测方法、装置、计算机设备及存储介质
CN113824989A (zh) 一种视频处理方法、装置和计算机可读存储介质
CN112164096A (zh) 一种对象识别方法、装置及设备
CN113626726A (zh) 时空轨迹确定方法及相关产品
Anuradha Deep Learning based Human Activity Recognition System with Open Datasets

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