一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

目标识别方法、装置、电子设备及存储介质与流程

2022-02-25 23:50:20 来源:中国专利 TAG:


1.本技术涉及图像识别的技术领域,具体涉及一种目标识别方法、装置、电子设备及存储介质。


背景技术:

2.目前,越来越多的人开始养宠物,其中以猫狗为主,当主人外出时同样希望能时刻关注自家爱宠的动态,与其互动等等,所以家居场景中的猫狗识别非常有必要。
3.相关技术中,对于图像中目标距离较远或目标较小的目标识别,导致提取得到的特征不够明显,例如家居场景中的猫狗识别往往是远距离识别,容易造成猫狗误识别。
4.由上可知,现有的目标识别,尤其是针对目标距离较远或目标较小的目标识别,仍存在准确率不高的局限性。


技术实现要素:

5.本技术各实施例提供了一种目标识别方法、装置、电子设备及存储介质,可以解决相关技术中存在的针对目标距离较远或目标较小的目标识别的准确率不高的问题。
6.本技术采用的技术方案如下:
7.根据本技术实施例的一个方面,一种目标识别方法,包括:获取第一检测图像;对所述第一检测图像中的目标整体进行识别,得到第一检测结果和所述目标整体对应的目标位置信息;根据所述目标位置信息,从所述第一检测图像中提取得到至少包含目标局部的第二检测图像;对所述第二检测图像中的目标局部进行识别,得到第二检测结果;基于所述第一检测结果和所述第二检测结果,得到目标识别结果。
8.根据本技术实施例的一个方面,一种目标识别装置,包括:获取模块,用于获取第一检测图像;第一检测模块,用于对所述第一检测图像中的目标整体进行识别,得到第一检测结果和所述目标整体对应的目标位置信息;第二检测模块,用于根据所述目标位置信息,从所述第一检测图像中提取得到至少包含目标局部的第二检测图像,并对所述第二检测图像中的目标局部进行识别,得到第二检测结果;目标识别模块,用于基于所述第一检测结果和所述第二检测结果,得到目标识别结果。
9.在一个示例性的实施例中,所述第二检测模块,包括:区域定位单元,用于根据所述目标位置信息,在所述第一检测图像中对至少包含所述目标局部的区域进行定位;图像分割单元,用于将定位到的至少包含所述目标局部的区域从所述第一检测图像中分割出定位得到的至少包含所述目标局部的区域,得到所述第二检测图像。
10.在一个示例性的实施例中,所述目标识别模块,包括:类别判断单元,用于判断所述第一检测结果指示的第一目标类别,与所述第二检测结果指示的第二目标类别是否一致;若为是,则通知结果定义单元;所述结果定义单元,用于将所述第一检测结果作为所述目标识别结果。
11.在一个示例性的实施例中,所述第一检测模块,包括:位置定位单元,用于将所述
第一检测图像输入第一检测模型,对目标在所述第一检测图像中的位置进行定位,得到所述目标整体对应的目标位置信息;所述第一检测模型是经过训练得到的具有识别所述第一检测图像中所述目标整体能力的机器学习模型;整体特征提取单元,用于根据所述目标位置信息在所述第一检测图像中确定至少包含目标整体的区域,并对所述至少包含目标整体的区域进行特征提取,得到第一图像特征序列,所述第一检测模型是对机器学习模型进行训练生成的;第一类别预测单元,用于根据所述第一图像特征序列对所述第一检测图像中的目标整体进行类别预测,得到第一目标类别;第一结果输出单元,用于通过所述第一检测模型输出所述第一目标类别,得到用于指示所述第一目标类别的所述第一检测结果。
12.在一个示例性的实施例中,所述第二检测模块,还包括:局部特征提取单元,用于将所述第二检测图像输入所述第一检测模型或第二检测模型进行特征提取,得到第二图像特征序列,所述第二检测模型是经过训练得到的具有识别所述第二检测图像中目标局部能力的机器学习模型;第二类别预测单元,用于根据所述第二图像特征序列对所述第二检测图像中的目标局部进行类别预测,得到第二目标类别;第二结果输出单元,用于通过所述第二检测模型输出所述第二目标类别,得到用于指示所述第二目标类别的所述第二检测结果。
13.在一个示例性的实施例中,所述装置,还包括:确定所述第一目标类别的可信度,和/或,确定所述第二目标类别的可信度;当所述第一目标类别的可信度小于第一设定值,或,所述第二目标类别的可信度小于第二设定值,执行所述获取第一检测图像步骤。
14.在一个示例性的实施例中,所述装置,还包括:第一模型训练模块,用于根据至少一个第一样本图像对所述机器学习模型进行模型训练,得到所述第一检测模型,所述第一样本图像至少包含样本目标整体且标注样本目标类别;和/或第二模型训练模块,用于根据至少一个第二样本图像对所述机器学习模型进行模型训练,得到所述第二检测模型,所述第二样本图像至少包含样本目标局部且标注样本目标类别。
15.在一个示例性的实施例中,所述第一/第二模型训练模块,包括:参数确定单元,用于构建所述机器学习模型,确定所述机器学习模型的参数;参数训练单元,用于根据样本集中的第一样本图像或第二样本图像,对所述机器学习模型的参数进行训练;模型收敛单元,用于如果训练后的参数使得所述机器学习模型收敛,则完成所述模型训练。
16.根据本技术实施例的一个方面,一种电子设备,包括:至少一个处理器、至少一个存储器、以及至少一条通信总线,其中,存储器上存储有计算机程序,处理器通过通信总线读取存储器中的计算机程序;计算机程序被处理器执行时实现如上所述的目标识别方法。
17.根据本技术实施例的一个方面,一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述的目标识别方法。
18.根据本技术实施例的一个方面,一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序存储在存储介质中,计算机设备的处理器从存储介质读取计算机程序,处理器执行计算机程序,使得计算机设备执行时实现如上所述的目标识别方法。
19.本技术提供的技术方案带来的有益效果是:
20.在上述技术方案中,通过获取第一检测图像和由所述第一检测图像截取得到至少包含目标局部的第二检测图像,以针对第一检测图像中的目标整体和第二检测图像中的目标局部分别进行识别,从而实现在对目标整体进行识别的基础上进一步对目标局部的识
别,并且结合目标整体的第一检测结果和目标局部的第二检测结果确定最终的目标识别结果,从而减少了出现目标误识别的概率,提升了目标识别的准确率。
附图说明
21.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
22.图1是根据本技术所涉及的实施环境的示意图;
23.图2是根据一示例性实施例示出的一种目标识别方法的流程图;
24.图3是图2对应实施例中步骤350在一种实施例中的流程图;
25.图4是根据一示例性实施例示出的第一检测图像和第二检测图像的示意图;
26.图5是一应用场景中目标识别方法的架构示意图;
27.图6是图5对应应用场景中对猫和/或狗进行识别的具体实现示意图;
28.图7是图6对应应用场景中由第一检测图像截取得到第二检测图像的具体实现示意图;
29.图8是根据一示例性实施例示出的一种目标识别装置的结构图;
30.图9是根据一示例性实施例示出的一种服务器的硬件结构图;
31.图10是根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
32.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
33.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
34.下面是对本技术涉及的几个名词进行的介绍和解释:
35.目标识别:通常包括两个主要任务:目标定位和目标分类。其中,目标定位是指目标可能出现在图像(或某个区域)的哪个位置,便将目标所在位置用定位框(bounding box,简写为bbox)框出来;目标分类是指图像(或某个区域)中定位框框出来的目标属于哪个类别。
36.深度学习模型:一种机器学习模型,是指使用有监督和无监督的学习方法来训练深度神经网络,深度神经网络是包含多个隐含层的神经网络结构。随着深度学习在图像分类任务上取得巨大进展,目前主流的目标检测算法主要是基于深度学习模型。通过训练深度学习模型生成目标检测模型,实现从输入图像(或视频)中提取特征,并进行目标定位和分类。
37.精确度:从预测结果的角度进行统计,是指预测为目标(正样本)的数据中,有多少个是实际的正样本,即“找的对”的比例,计算公式为:预测为正且实际为正/预测为正,该值越大越好,100%为理想状态。
38.召回率:从真实的样本集进行统计,是指在所有正样本中,找回了多少个实际的正样本,即“找的全”的比例,计算公式为:预测为正且实际为正/所有正样本数,该值越大越好,100%为理想状态。
39.如前所述,现有的目标识别,尤其是针对目标距离较远或目标较小的目标识别,仍存在准确率不高的局限性。
40.以目标为猫狗举例来说,对于猫狗识别而言,由于猫狗都属于小动物,在日常活动中存在各种姿态,其中不乏一些相似的姿态,并且某些品种的猫和狗体型相似,因此在进行猫狗识别时容易出现猫狗类间的误识别,比如将猫识别为狗或者将狗识别为猫。
41.又由于家居场景中的猫狗识别很少是近距离识别,一般都是远距离识别,这会使得提取得到的特征不够明显,从而也会导致猫狗类间的误识别率上升。
42.此外,家居场景下还存在大量非猫狗的物体,比如抱枕、毛绒玩具、毛毯,这些物体和猫狗存在相似性特征,都具有毛茸状的外形,因此在进行猫狗识别时也容易将这些物体识别为猫狗,出现猫狗类外的误识别。
43.由此可见,猫狗类间和类外的误识别都将使得家居场景中的猫狗识别仍存在准确率不高的缺陷。
44.为此,本技术提供的目标识别方法,能够有效地提高目标识别的准确率,相应地,此目标识别方法适用于目标识别装置,此目标识别装置可部署于配备冯诺依曼体系结构的电子设备,例如,电子设备可以是个人计算机(pc)、服务器等。
45.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
46.图1为一种目标识别方法所涉及的实施环境的示意图。如图(a)所示,该实施环境包括网关110、部署在网关110中的图像采集设备130、以及服务器150。
47.具体地,图像采集设备130可以是摄像机、相机、或者智能手机、平板电脑等配置摄像头的其余电子设备,在此不进行限定。
48.服务器150可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。例如,本实施环境中,服务器150提供目标识别服务。
49.图像采集设备130部署于网关110,并通过其自身所配置的通信模块与网关110通信,进而实现与网关110之间的交互。在一种实施方式中,图像采集设备130通过局域网络接入网关110,从而部署于网关110中。图像采集设备130通过局域网络接入网关110的过程包括,由网关110首先建立一个局域网络,图像采集设备130通过连接该网关110,从而接入该网关110 建立的局域网络中。所述局域网络包括:蓝牙、wifi、zigbee或者lora。
50.服务器150则预先与网关110之间建立通信连接,并通过此通信连接实现与网关110之间的数据传输。例如,传输的数据至少包括第一检测图像等。
51.在此实施环境中,图像采集设备130拍摄并采集第一检测图像,并通过网关110将
第一检测图像传输至服务器150,以使服务器150提供目标识别服务。
52.对于服务器150而言,在获得第一检测图像之后,便可对第一检测图像中的目标整体进行识别,并针对从第一检测图像中提取得到的第二检测图像中的目标局部进行识别,以分别得到第一检测结果和第二检测结果,进而基于第一检测结果和第二检测结果,得到目标识别结果,由此来解决现有技术中针对目标距离较远或目标较小的目标识别仍存在准确率不高的问题。
53.区别于图(a),在图(b)中,该实施环境还包括用户终端170。该用户终端170可供具备目标显示功能的客户端运行,可以是台式电脑、笔记本电脑、平板电脑、智能手机等电子设备,在此不进行限定。其中,该客户端,具备目标显示功能,可以是应用程序形式,也可以是网页形式,相应地,客户端进行播放视频的用户界面则可以是程序窗口形式,还可以是网页页面形式的,此处也并未加以限定。
54.用户终端170与服务器150之间预先建立通信连接,并通过此通信连接实现用户终端170与服务器150之间的数据传输。例如,传输的数据可以是目标识别结果等。
55.在此实施环境中,用户终端170借助运行的客户端向服务器170发起目标识别请求,以请求服务器170提供目标识别服务。当服务器170得到目标识别结果,便能够将目标识别结果返回至用户终端170,以供用户终端170 中基于目标识别结果进行目标显示。
56.请参阅图2,在一示例性实施例中,提供了一种目标识别方法,以该方法应用于电子设备为例进行说明。其中,该电子设备具体可以是图1中的服务器,也可以是图1中的网关、用户终端、具有图像处理功能的图像采集设备。
57.该目标识别方法可以包括以下步骤:
58.步骤310,获取第一检测图像。
59.其中,第一检测图像是由图1所示出实施环境中的图像采集设备对包含目标的环境进行拍摄和采集生成的,以便于后续针对第一检测图像进行目标识别。此目标是指图像中包含的目标对象,具体可以是指第一检测图像中包含的待检测的目标检测对象,目标检测对象可以是各种物体对象。例如目标具体可以是人、动物、智能手机、家居、车辆等中的至少一种。
60.可以理解,拍摄可以是单次拍摄,还可以是连续性拍摄,那么,针对同一个目标,对于连续性拍摄而言,可以得到一段视频,则第一检测图像对应于该视频中的某个画面,而就单次拍摄来说,可以得到多张照片,则第一检测图像对应于一张照片。基于此,本实施例中的目标识别可以是基于一段视频中的多个画面,还可以是基于多张照片。
61.关于第一检测图像的获取,第一检测图像可以来源于图像采集设备实时采集的第一检测图像,也可以是预先存储于服务器的一历史时间段由图像采集设备拍摄并采集的第一检测图像。也就是说,图像采集设备采集到第一检测图像后,可以对该第一检测图像进行实时处理,例如实时地对第一检测图像中的目标进行识别;也可以预先存储了再处理,例如,在服务器处理任务较少的时候进行第一检测图像的目标识别处理,或者,按照操作人员的指定时间进行第一检测图像的目标识别处理。
62.那么,对于电子设备而言,可以获取实时采集的第一检测图像,也可以获取预先存储的第一检测图像,即通过调取一历史时间段采集到的第一检测图像,本实施例对此并未加以限定。
63.如前所述,图像采集设备可以是摄像机、相机、或者智能手机、平板电脑等配置摄像头的其余电子设备。在家居场景中,假设图像采集设备为摄像头,则此图像采集设备可以布设于目标所在环境的四周,例如家中的客厅、卧室、厨房等,此环境中可以包括人、猫、狗、毛毯、地毯、毛绒玩具、沙发、抱枕、厨电设备等等,以便于对目标所在环境进行拍摄和采集而生成第一检测图像。
64.步骤330,对第一检测图像中的目标整体进行识别,得到第一检测结果和目标整体对应的目标位置信息。
65.其中,目标整体是指第一检测图像中目标对象的整体,具体可以是第一检测图像中包括目标整体的区域。例如,目标为人体时,目标整体可以是指人体全身,第一检测图像中的目标整体则可以为包含该人体全身的区域。
66.在此说明的是,识别,是针对第一检测图像中的目标整体进行目标识别。如前所述,目标识别通常包括两个主要任务:目标定位和目标分类,其中,目标定位是指目标可能出现在图像(或某个区域)的哪个位置,便将目标所在位置用定位框(bounding box,简写为bbox)框出来;目标分类是指图像(或某个区域)中定位框框出来的目标属于哪个类别。
67.在一个实施例中,识别,是通过目标识别算法实现的。目标识别算法包括基于区域建议的目标识别算法、基于回归的目标识别算法、基于搜索的目标识别算法。进一步地,基于区域建议的目标识别算法包括r-cnn、 fast-r-cnn、faster-r-cnn等。
68.在一个实施例中,目标识别算法采用基于区域建议的目标识别算法,此基于区域建议的目标识别算法则通过机器学习模型实现,此机器学习模型至少包括卷积神经网络模型等深度学习模型。
69.由此,通过对第一检测图像中的目标整体进行识别,便能够得到第一检测结果和目标位置信息。
70.其次,第一检测结果,是基于目标识别任务中的目标分类得到的,用于指示第一目标类别。例如,针对包含猫整体的第一检测图像进行识别,则第一目标类别为猫。在一个实施例中,第一检测结果包括第一目标类别。在一个实施例中,第一检测结果包括第一目标类别和第一检测结果的可信度,此可信度与基于区域建议的目标识别算法有关。
71.目标位置信息,是基于目标识别任务中的目标定位得到的,用于指示目标在第一检测图像中的位置和/或尺寸。在一个实施例中,目标位置信息可以通过坐标表示。
72.步骤350,根据目标位置信息,从第一检测图像中提取得到至少包含目标局部的第二检测图像。
73.换而言之,目标局部包含于第二检测图像,而第二检测图像包含于第一检测图像。由此,第二检测图像可以基于目标位置信息通过图像分割,从第一检测图像中分割得到。其中,目标局部是指第二检测图像中目标对象的局部,具体可以是第二检测图像中包括目标局部的区域。例如,目标为人体时,目标局部可以是指人体腿部,第二检测图像中的目标局部则可以为包含该人体腿部的区域。
74.也即是,将至少包含目标局部的区域从第一检测图像中分割,以此得到至少包含目标局部的第二检测图像。举例来说,对于目标猫而言,猫脸可视为目标局部,那么,针对包含猫整体的第一检测图像,将至少包含猫脸的区域从第一检测图像中分割,从而得到至少包含猫脸的第二检测图像。
75.可选地,图像分割包括:普通分割、语义分割、实例分割等等,其中,普通分割进一步包括:阈值分割、区域分割、边缘分割、直方图分割等等,本实施例对此并未作出具体限定。
76.在一个实施例中,图像分割为区域分割,此区域分割由机器学习模型实现,此机器学习模型至少包括卷积神经网络模型等深度学习模型。
77.进一步地,在一个实施例中,目标识别方法还可以包括以下步骤:
78.对第二检测图像进行缩放处理,和/或,对第二检测图像进行归一化处理,以对处理后的第二检测图像中的目标局部进行识别。
79.其中,缩放处理,是指对进行识别的每一个第二检测图像进行放大或者缩小,以使得进行识别的各个第二检测图像的尺寸保持一致。
80.归一化处理,对进行识别的每一个第二检测图像而言,是指将该第二检测图像对应数值限定在预设范围内。例如,预设范围可以是[0,1],还可以是 [-1,1],此处并未加以限定,以此消除奇异数据导致目标识别性能受到的不良影响。
[0081]
由此,通过缩放处理和/或归一化处理,能够进一步地提高目标识别的准确率。
[0082]
步骤370,对第二检测图像中的目标局部进行识别,得到第二检测结果。
[0083]
本实施例中,识别,是针对第二检测图像中的目标局部进行目标识别。同理于第一检测图像,在一个实施例中,识别,也是通过目标识别算法实现的。目标识别算法包括基于区域建议的目标识别算法、基于回归的目标识别算法、基于搜索的目标识别算法。进一步地,基于区域建议的目标识别算法包括r-cnn、fast-r-cnn、faster-r-cnn等。
[0084]
在一个实施例中,目标识别算法采用基于区域建议的目标识别算法,此基于区域建议的目标识别算法则通过机器学习模型实现,此机器学习模型至少包括卷积神经网络模型等深度学习模型。
[0085]
对应地,通过对第二检测图像中的目标局部进行目标检测,便能够得到第二检测结果。
[0086]
其中,第二检测结果,用于指示第二目标类别。例如,针对包含猫脸的第二检测图像进行识别,则第二目标类别为猫。在一个实施例中,第二检测结果包括第二目标类别。在一个实施例中,第二检测结果包括第二目标类别和第二检测结果的可信度,此可信度与基于区域建议的目标识别算法有关。
[0087]
由此,在对目标整体进行识别的基础上,本技术增加了对目标局部的识别,使得目标识别能够从远距离识别提升至近距离识别,进而有利于提取得到更为明显的特征,不仅有利于区分相似目标,而且有利于区分存在相似性特征的目标与其他物体。
[0088]
值得一提的是,本实施例中,步骤370的识别,区别于步骤350中对第一检测图像中目标整体进行的识别,即,在步骤350中,识别过程输出第一检测结果的对应目标整体的目标位置信息,此处,识别过程输出仅为第二检测结果,并未输出关于目标局部的位置信息。当然,在其他实施例中,步骤 370的识别过程也可以与步骤350的识别过程一致,即不仅输出第二检测结果,同时输出关于目标局部的位置信息。本实施例中,通过识别过程的区别处理,不仅能够有效地避免不必要的处理,提高识别效率,而且不会明显增加资源,有利于降低成本。
[0089]
步骤390,基于第一检测结果和第二检测结果,得到目标识别结果。
[0090]
其中,目标识别结果,用于指示实际的目标所属类别。
[0091]
关于目标识别结果基于第一检测结果和第二检测结果的获取过程,是指第一检测结果和第二检测结果的比较过程。
[0092]
在一个实施例中,第一检测结果和第二检测结果的比较过程,具体为比较第一检测结果的可信度和第二检测结果的可信度,选取可信度高的结果结果作为目标识别结果。
[0093]
如前所述,第一检测结果用于指示第一目标类别,第二检测结果用于指示第二目标类别,那么,在另一个实施例中,第一目标类别和第二目标类别的比较过程,具体为判断第一检测结果指示的第一目标类别与第二检测结果指示的第二目标类别是否一致。如果第一目标类别和第二目标类别一致,则将第一检测结果作为目标识别结果。反之,如果第一目标类别和第二目标类别不一致,则丢弃第一检测结果,返回执行步骤310,获取第一检测图像。
[0094]
举例来说,在家居场景中,对包含猫和/或狗的家居环境进行猫和/或狗识别,假设第一检测结果指示的第一目标类别为猫,那么,如果第二检测结果指示的第二目标类别也为猫,将第一检测结果作为目标识别结果,即目标识别结果指示的实际的目标所属类别为猫;否则,如果第二检测结果指示的第二目标类别不为猫,例如第二目标类别为狗,则将第一检测结果删除,重新获取第一检测图像,并基于重新获取到的第一检测图像继续进行目标识别。
[0095]
当然,不局限于删除第一检测结果而没有得到目标识别结果,在其他实施例中,当第一目标类别和第二目标类别不一致时,还可视为得到指示识别错误的目标识别结果。在此种情形下,目标识别结果,用于指示识别出错。
[0096]
通过上述过程,本技术实施例提供的目标识别方法,通过获取第一检测图像和由所述第一检测图像截取得到至少包含目标局部的第二检测图像,以针对第一检测图像中的目标整体和第二检测图像中的目标局部分别进行识别,从而实现在对目标整体进行识别的基础上进一步对目标局部的识别,并且结合目标整体的第一检测结果和目标局部的第二检测结果确定最终的目标识别结果,从而减少了出现目标误识别的概率,提升了目标识别的准确率。
[0097]
请参阅图3,在一个示例性实施例中,步骤350可以包括以下步骤:
[0098]
步骤351,根据目标位置信息,在第一检测图像中对至少包含目标局部的区域进行定位。
[0099]
步骤353,从第一检测图像中分割出定位得到的至少包含目标局部的区域,得到第二检测图像。
[0100]
如前所述,第二检测图像可以基于目标位置信息通过图像分割从第一检测图像中截取得到的。
[0101]
基于此,本实施例中,定位,指的是根据目标位置信息确定至少包含目标局部的区域在第一检测图像中的位置,进而基于此位置在第一检测图像中用定位框将至少包含目标局部的区域框出来,从而使得至少包含目标局部的区域能够从第一检测图像中分割,进而得到第二检测图像。
[0102]
在一个实施例中,目标位置信息与定位框有关,以此指示目标在第一检测图像中的位置和/或尺寸。其中,定位框的形状可以是矩形、圆形、三角形等,此处并未加以限定,此
定位框在第一检测图像中的位置可以通过坐标表示。
[0103]
在一个实施例中,目标位置信息可以表示为(xmin1,ymin1,xmax1,ymax1),以此来指示目标在第一检测图像中的位置处于x轴的xmin1~xmax1之间、以及y轴的ymin1~ymax1之间,其中,(xmin1,ymax1)表示定位框的左上角顶点, (xmax1,ymin1)表示定位框的右下角顶点。由此,便能够基于此定位框在第一检测图像中将包含目标局部的区域从第一检测图像中框出来,定位得到第一检测图像中至少包含目标局部的区域,然后从第一检测图像中分割出该至少包含目标局部的区域,得到第二检测图像。
[0104]
以家居场景中目标为狗进行举例说明,如图4所示,电子设备获得包含狗和家居等的第一检测图像之后,首先对第一检测图像中的狗进行识别,得到第一检测结果和狗对应的目标位置信息,此时,目标位置信息为图4中 bbox1所表示的(xmin1,ymin1,xmax1,ymax1),对应地,第一检测结果为狗,所指示的目标类别为狗。进一步,基于bbox1在第一检测图像中将包含狗脸的区域从第一检测图像分出出来,得到第二检测图像,对应地,第二检测结果为狗脸,所指示的目标类别为狗。
[0105]
在上述实施例的作用下,实现了基于区域分割的第一检测图像和第二检测图像的分离,使得目标识别从远距离识别提升至近距离识别能够实现,进而有利于提升目标识别的准确率。
[0106]
如前所述,无论是针对第一检测图像还是针对第二检测图像进行识别,都可以通过机器学习模型实现。
[0107]
在一个实施例中,通过第一检测模型对第一检测图像中的目标整体进行识别,得到第一检测结果。此第一检测模型是对机器学习模型进行训练生成的,也可以理解为,第一检测模型是经过训练得到的具有识别第一检测图像中目标整体能力的机器学习模型。
[0108]
在一个实施例中,通过第一检测模型对第二检测图像中的目标局部进行识别,得到第二检测结果。此第一检测模型是对机器学习模型进行训练生成的。
[0109]
在一个实施例中,通过第二检测模型对第二检测图像中的目标局部进行识别,得到第二检测结果。此第二检测模型是对机器学习模型进行训练生成的,也可以理解为,第二检测模型是经过训练得到的具有识别第二检测图像中目标局部能力的机器学习模型。本实施例中,第二检测模型区别于第一检测模型。
[0110]
由于第一检测模型和第二检测模型的生成过程和使用过程原理基本一致,区别在于用于训练的样本集差异以及用于识别的图像差异,因此,下面仅对第一检测模型的生成和使用进行详细地说明:
[0111]
在一个示例性实施例,第一检测模型的生成过程可以包括如下步骤:
[0112]
第一步,获取样本集。
[0113]
其中,样本集包括至少一个标注样本目标类别的第一样本图像,此第一样本图像至少包含样本目标整体。
[0114]
举例来说,一张包含猫的照片,目标为猫,则样本目标类别为猫,那么,可以通过人工标注,例如,在这张包含猫的照片中添加文字形式“猫”的标记,则形成标注了样本目标类别的第一样本图像。
[0115]
当然,在其他实施例中,标注,也可以是在图像中添加数字、字母、字符、图形、颜色等形式的标记,此处并非构成具体限定。
[0116]
第二步,根据样本集中的第一样板图像,对已构建的机器学习模型的参数进行训练。
[0117]
具体地,首先,对机器学习模型的参数执行随机初始化,并根据随机初始化的参数和其中一个样本图像构建机器学习模型对应的损失函数。
[0118]
其中,损失函数包括但不限于:余弦损失函数、交叉熵函数、类内分布函数、类间分布函数、激活分类函数等等。
[0119]
计算机器学习模型对应的损失函数的损失值,以判断该损失值是否达到最小值,进而判断机器学习模型是否收敛;
[0120]
如果该损失值未达到最小值,视为机器学习模型尚未收敛,则更新参数,并根据更新的参数和后一个样本图像重新构建机器学习模型对应的损失函数,以继续判断该损失函数的损失值是否达到最小值;
[0121]
反之,如果该损失值达到最小值,视为此时的参数使得机器学习模型收敛。
[0122]
当然,还可以根据应用场景的实际需要设置迭代阈值,以期加快机器学习模型的训练效率。同时,设置不同的迭代阈值,也能够满足目标识别对准确率的不同需求。例如,较大的迭代阈值有利于提高目标识别的准确率。
[0123]
即,当损失值达到最小值或者迭代次数达到迭代阈值,则停止训练,视为机器学习模型收敛。
[0124]
进一步地,在一个实施例中,对完成训练的机器学习模型进行模型性能评价,具体地,计算完成训练的机器学习模型对应的精确度和召回率,如果此精确度和召回率均满足设定条件,则此完成模型性能评价的机器学习模型收敛为第一检测模型。
[0125]
通过上述过程,第一检测模型便具备了目标识别能力。
[0126]
值得一提的是,无论第一检测模型还是第二检测模型,都存在两种模型模式:one-stage(单阶段)检测器、two-stage(两阶段)检测器。其中,one-stage (单阶段)检测器,即仅执行目标识别的一个主要任务目标分类;two-stage (两阶段)检测器,即执行目标识别的两个主要任务目标定位和目标分类。在一个实施例中,第一检测模型为two-stage(两阶段)检测器,即执行目标识别的两个主要任务目标定位和目标分类,以此充分保障目标识别的准确率;而第二检测模型为one-stage(单阶段)检测器,即仅执行目标识别的一个主要任务目标分类,这就使得第二检测模型不仅相较于第一检测模型具有更高效的目标识别速率,而且不会明显增加资源,有利于实现轻量化的边缘端部署方案。
[0127]
具体而言,对于one-stage(单阶段)检测器而言,在一个示例性实施例中,步骤330可以包括以下步骤:
[0128]
第一步,将第一检测图像输入第一检测模型进行特征提取,得到第一图像特征序列。
[0129]
其中,第一图像特征序列,通过数字化方式表示第一检测图像中的目标整体,是对第一检测图像中的目标整体的准确描述。可以理解,目标不同,第一检测图像中的目标整体将有所区别,那么,第一图像特征序列也会有所差异。
[0130]
第二步,根据第一图像特征序列对第一检测图像中的目标整体进行类别预测,得到第一目标类别。
[0131]
其中,类别预测,可以通过第一检测模型中设置的分类器(例如softmax 函数)实
现,即是基于分类器计算第一检测图像中目标属于不同类别的概率。
[0132]
举例来说,对于第一检测模型而言,假设类别为猫、狗、其他物体。
[0133]
那么,计算第一检测图像中目标分别属于猫、狗、其他物体的概率,分别为p1、p2、p3。如果p1最大,则视为第一目标类别为猫,即第一检测图像中的目标属于猫;同理,如果p2最大,视为第一目标类别为狗,即第一检测图像中的目标属于狗;如果p3最大,则第一检测图像中的目标属于其他物体,此时,第一目标类别为其他物体。
[0134]
对于第二检测模型而言,假设类别为猫脸、狗脸、无任何的猫脸/狗脸。
[0135]
同理,计算第二检测图像中目标局部分别属于猫脸、狗脸、无任何的猫脸/狗脸的概率,分别为p4、p5、p6。如果p4最大,则视为第二检测图像中的目标局部属于猫脸,此时,第二目标类别为猫;同理,如果p5最大,视为第二检测图像中的目标局部属于狗脸,此时,第二目标类别为狗;如果p6 最大,视为第二检测图像中无任何的猫脸/狗脸,相应地,第二目标类别为其他物体。
[0136]
第三步,通过第一检测模型输出第一目标类别,得到用于指示第一目标类别的第一检测结果。
[0137]
具体地,第一检测结果={第一目标类别}。
[0138]
当然,在其他实施例中,还设置有用于表示第一目标类别的可信程度的可信度及其对应的第一设定值,如果该可信度小于第一设定值,则第一检测模型无法输出第一目标类别。其中,第一设定值为可以根据应用场景的实际需求进行设定,以此使得第一检测模型的精确度和召回率保持平衡。例如,对于精确度要求高的应用场景,设置相对较高的第一设定值;对于召回率要求高的应用场景,则设置相对较低的第二设定值。
[0139]
可以理解,目标所属类别的概率越大,可信度越大。下面以概率作为可信度对第一检测结果的得到过程作进一步说明:
[0140]
具体地,确定第一目标类别的可信度;
[0141]
当第一目标类别的可信度小于第一设定值,执行步骤310,获取第一检测图像;
[0142]
当第一目标类别的可信度不小于第一设定值,执行步骤:通过第一检测模型输出第一目标类别,得到用于指示第一目标类别的第一检测结果。
[0143]
仍以上述例子进行说明,假设p1最大,但是p1小于第一设定值,则类别猫不能视为第一检测结果;假设p2最大且不小于第一设定值,则类别狗即视为第一检测结果。
[0144]
进一步地,对于two-stage(两阶段)检测器而言,在一个示例性实施例中,步骤330还可以包括以下步骤:
[0145]
对目标在第一检测图像中的位置进行定位,得到目标位置信息。
[0146]
此处的定位,即是指目标识别中的一个主要任务目标定位。
[0147]
回请参阅图4,在第一检测图像中,使用设定尺寸范围内的定位框bbox1 将目标整体(一只狗)从第一检测图像中框出来。其中,定位框bbox1的左上角顶点表示为(xmin1,ymax1),右下角顶点表示为(xmax1,ymin1),由此,目标位置信息可以表示为(xmin1,ymin1,xmax1,ymax1),以此来指示狗在第一检测图像中的位置是x轴的xmin1~xmax1之间、以及y轴的ymin1~ymax1之间。
[0148]
需要说明的是,定位框bbox1的设定尺寸范围可以根据实际应用场景的具体需求设定,例如,在高精度应用场景中,设定较小尺寸范围(例如最小外接矩形框),以此保证框
出来的图像中包含非目标的环境噪音较少,进而有利于进一步提高目标识别的准确率。
[0149]
由此,在得到目标位置信息之后,便能够根据此目标位置信息在第一检测图像中确定至少包含目标整体的区域,以基于至少包含目标整体的区域进行特征提取和类别预测,即进入目标识别中的另一个主要任务目标识别。
[0150]
通过上述实施例的配合,实现了基于检测模型的目标识别,充分地保障了目标识别的准确率。
[0151]
此外,通过分别对目标整体和目标局部进行识别,有效地满足了目标整体和目标局部由于尺寸大小不同而对检测模型输入图像分辨率大小不同的需求,从而有利于进一步提高目标识别的准确率。
[0152]
本技术实施例提供的目标识别方法的应用场景有很多,包括但不限于人脸检测、行人检测、动物检测、车辆检测等等,下面对家居场景中的猫狗识别进行示例性说明。
[0153]
图5至图7是一应用场景中一种目标识别方法的具体实现示意图。该应用场景为家居场景,目标为猫/狗。
[0154]
家居场景中,图像采集设备拍摄并采集包含猫/狗的第一检测图像,并通过网关将第一检测图像传输至服务器,以使服务器提供目标识别服务。
[0155]
对于服务器而言,部署有用于提供目标识别服务的目标识别装置,此目标识别装置包括六个模块:获取模块410、猫狗检测模块420、截取模块430、猫脸狗脸检测模块440、对比模块450和输出模块460,如图5所示。
[0156]
其中,获取模块410通过图像采集设备对猫/狗所在环境进行拍摄并采集,获取到至少包含猫/狗的第一检测图像。
[0157]
猫狗检测模块420对第一检测图像中的猫/狗整体进行识别,得到猫狗检测结果和猫狗位置信息。具体地,如图6所示,通过执行步骤510至步骤540,对第一检测图像中的猫/狗整体进行识别,得到猫狗检测结果和猫狗位置信息。
[0158]
截取模块430根据猫狗位置信息由第一检测图像中截取得到至少包含猫脸/狗脸的第二检测图像。具体地,如图7所示,通过执行步骤610至步骤640,从第一检测图像分割出至少包含猫脸/狗脸的第二检测图像。
[0159]
猫脸狗脸检测模块440对第二检测图像中的猫脸/狗脸进行识别,得到猫脸狗脸检测结果。识别方法类似于上述步骤510至步骤540,此处不再重复叙述。
[0160]
对比模块450比较猫狗检测结果所指示的第一目标类别和猫脸狗脸检测结果所指示的第二目标类别,得到猫狗识别结果。具体地,判断猫脸狗脸检测结果指示的第二目标类别是否与猫狗检测结果指示的第一目标类别一致,若是,则以猫狗检测结果作为猫狗识别结果;若不是,则删除猫狗检测结果,重新跳转至获取模块410。
[0161]
输出模块460输出猫狗识别结果,以便于能够准确地向用户展示家居场景中的猫或狗。
[0162]
在本应用场景中,对猫脸/狗脸进行的识别从远距离识别提升为近距离识别,并且脸部等局部特征相较于全局特征(整体)属于更为明显的特征,因此,相较于对猫狗整体进行识别具有更加准确的识别效果,更容易将猫和狗这两个不同类别的宠物区分开,也更容易将猫/狗与具有猫狗相似外形的其他物体区分开,不仅减少了猫狗类间的误识别,而且也减少了猫狗与其他物体之间的误识别,从而能够有效地提升家居场景中的猫狗识别的准确
率。
[0163]
下述为本技术装置实施例,可以用于执行本技术所涉及的目标识别方法。对于本技术装置实施例中未披露的细节,请参照本技术所涉及的目标识别方法的方法实施例。
[0164]
请参阅图8,在一示例性实施例中,一种目标识别装置700包括但不限于:图像获取模块710、第一检测模块730、第二检测模块750和目标识别模块770。
[0165]
其中,图像获取模块710,用于获取第一检测图像。
[0166]
第一检测模块730,用于对第一检测图像中的目标整体进行识别,得到第一检测结果和目标整体对应的目标位置信息。
[0167]
第二检测模块750,用于根据目标位置信息,从第一检测图像中提取得到至少包含目标局部的第二检测图像,并对第二检测图像中的目标局部进行识别,得到第二检测结果。
[0168]
目标识别模块770,用于基于第一检测结果和第二检测结果,得到目标识别结果。
[0169]
需要说明的是,上述实施例所提供的目标识别装置在进行目标识别时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即目标识别装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
[0170]
另外,上述实施例所提供的目标识别装置与方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
[0171]
图9根据一示例性实施例示出的一种服务器的结构示意。该服务器适用于图1所示出实施环境的服务器150。
[0172]
需要说明的是,该服务器只是一个适配于本技术的示例,不能认为是提供了对本技术的使用范围的任何限制。该服务器也不能解释为需要依赖于或者必须具有图8示出的示例性的服务器2000中的一个或者多个组件。
[0173]
服务器2000的硬件结构可因配置或者性能的不同而产生较大的差异,如图8所示,服务器2000包括:电源210、接口230、至少一存储器250、以及至少一中央处理器(cpu,central processing units)270。
[0174]
具体地,电源210用于为服务器2000上的各硬件设备提供工作电压。
[0175]
接口230包括至少一有线或无线网络接口231,用于与外部设备交互。例如,进行图1所示出实施环境中网关110与服务器150之间的交互。
[0176]
当然,在其余本技术适配的示例中,接口230还可以进一步包括至少一串并转换接口233、至少一输入输出接口235以及至少一usb接口237等,如图9所示,在此并非对此构成具体限定。
[0177]
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据 255等,存储方式可以是短暂存储或者永久存储。
[0178]
其中,操作系统251用于管理与控制服务器2000上的各硬件设备以及应用程序253,以实现中央处理器270对存储器250中海量数据255的运算与处理,其可以是windows servertm、mac os xtm、unixtm、linuxtm、freebsdtm等。
[0179]
应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图9未示出),每个模块都可以分别包含有对服务器2000的计算机程序。
例如,目标识别装置视为部署于服务器2000的应用程序253。
[0180]
数据255可以是存储于磁盘中的照片、图片、视频等,存储于存储器250中。
[0181]
中央处理器270可以包括一个或多个以上的处理器,并设置为通过至少一通信总线与存储器250通信,以读取存储器250中存储的计算机程序,进而实现对存储器250中海量数据255的运算与处理。例如,通过中央处理器270读取存储器250中存储的一系列计算机程序的形式来完成目标识别方法。
[0182]
此外,通过硬件电路或者硬件电路结合软件也能同样实现本技术,因此,实现本技术并不限于任何特定硬件电路、软件以及两者的组合。
[0183]
请参阅图10,本技术实施例中提供了一种电子设备4000,该电子设备4000可以包括:
[0184]
在图10中,该电子设备4000包括至少一个处理器4001、至少一条通信总线4002以及至少一个存储器4003。
[0185]
其中,处理器4001和存储器4003相连,如通过通信总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本技术实施例的限定。
[0186]
处理器4001可以是cpu(centralprocessingunit,中央处理器),通用处理器,dsp(digitalsignalprocessor,数据信号处理器),asic(applicationspecificintegratedcircuit,专用集成电路),fpga(fieldprogrammablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0187]
通信总线4002可包括一通路,在上述组件之间传送信息。通信总线4002可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。通信总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0188]
存储器4003可以是rom(readonlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscreadonlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0189]
存储器4003上存储有计算机程序,处理器4001通过通信总线4002读取存储器4003中存储的计算机程序。
[0190]
该计算机程序被处理器4001执行时实现上述各实施例中的目标识别方法。
[0191]
此外,本技术实施例中提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的目标识别方法。
[0192]
本技术实施例中提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在存储介质中。计算机设备的处理器从存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述各实施例中的目标识别方法。
[0193]
与相关技术相比,本技术通过由第一检测图像截取得到至少包含目标局部的第二检测图像,并对第二检测图像中的目标局部进行识别,在对目标整体进行识别的基础上进一步地实现了对目标局部的识别,并且结合目标整体的第一检测结果和目标局部的第二检测结果确定最终的目标识别结果,从而减少了出现目标误识别的概率,提升了目标检测的准确率。
[0194]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0195]
以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献