CN112149463B - 图像处理方法和装置 - Google Patents

图像处理方法和装置 Download PDF

Info

Publication number
CN112149463B
CN112149463B CN201910569605.5A CN201910569605A CN112149463B CN 112149463 B CN112149463 B CN 112149463B CN 201910569605 A CN201910569605 A CN 201910569605A CN 112149463 B CN112149463 B CN 112149463B
Authority
CN
China
Prior art keywords
image
pedestrian
sub
images
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.)
Active
Application number
CN201910569605.5A
Other languages
English (en)
Other versions
CN112149463A (zh
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 CN201910569605.5A priority Critical patent/CN112149463B/zh
Publication of CN112149463A publication Critical patent/CN112149463A/zh
Application granted granted Critical
Publication of CN112149463B publication Critical patent/CN112149463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • 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

Landscapes

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

Abstract

本发明涉及一种图像处理方法和装置。所述图像处理方法,包括:根据行人图像获得M个第一子图像;所述M个第一子图像的分辨率小于行人图像的分辨率;将M个第一子图像输入至第一行人识别神经网络获得M个第一子图像中N个第一边界框;将行人图像进行划分获得L个第一图像区域;L大于M;从L个第一图像区域中选择出与第一边界框的位置至少部分重叠的K个目标图像区域;根据K个目标图像区域获得K个第二子图像;将K个第二子图像输入至第二行人识别神经网络获得K个用于框出行人的J个第二边界框;对J个第二边界框进行融合得到H个行人各自的第三边界框;H大于或者等于N。根据本发明的实施例,可以提高行人检测的速度以及精确度。

Description

图像处理方法和装置
技术领域
本发明涉及图像处理技术领域,尤其涉及一种图像处理方法和装置。
背景技术
深度学习技术在行人检测领域的应用近几年的发展突飞猛进,已经广泛推广到了安防、零售、物流、金融等领域。为了达到实时检测的效果,目前的众多应用都是基于低分辨率的视频识别。低分辨率视频在保障了检测行人的实时性,但是同时也使得在在对一些检测技术的深度推广及应用的过程中变成了只存在理论上的可能性。比如在行人再识别的应用中通过人脸来确定行人的身份,因为视频的分辨率较低,大部分检测到的行人人脸模糊到无法识别,无法进行身份认证,行人跟踪与再识别等应用中可能会出现识别ID的switch(交换)问题等等。与此同时,低分辨率视频也会导致识别率的降低。相关技术中,高清摄像头以及超高分显示设备已经在市场中得到广泛应用,因此,如何针对高分视频实现行人检测是需要解决的一个技术问题。
发明内容
本发明提供一种图像处理方法和装置,以解决相关技术中的不足。
根据本发明实施例的第一方面,提供一种图像处理方法,包括:
根据行人图像获得M个第一子图像;所述M个第一子图像的分辨率小于所述行人图像的分辨率;M为大于1的自然数;
将所述M个第一子图像输入至已训练的第一行人识别神经网络,获得所述M个第一子图像中N个第一边界框;N为自然数;所述第一边界框中包括至少一个行人的图像;
将所述行人图像进行划分,获得L个第一图像区域;所述L个第一图像区域包括所述行人图像的全部像素点的颜色信息;L为自然数,L大于M;
从所述L个第一图像区域中选择出与所述第一边界框的位置至少部分重叠的K个目标图像区域;K为自然数,K小于或者等于L;
根据所述K个目标图像区域获得K个第二子图像;K个第二子图像的图像内容与K个目标图像区域的图像内容一一对应;所述第二子图像的分辨率等于所述行人图像的分辨率;
将所述K个第二子图像输入至已训练的第二行人识别神经网络,获得所述K个第二子图像中用于框出行人的J个第二边界框;J为自然数,J大于或者等于N;所述第二边界框中包括行人的完整图像或者部分图像;第二行人识别神经网络的网络参数与第一行人识别神经网络的网络参数不同;
对J个第二边界框进行融合,得到H个行人各自的第三边界框;H为自然数,H大于或者等于N,同一个所述第三边界框中仅包括一个行人的图像。
在一个实施例中,所述根据行人图像获得M个第一子图像,包括:
根据行人图像获得M个第三子图像,所述第三子图像的分辨率与所述行人图像的分辨率相同,且所述M个第三子图像包括所述行人图像的全部像素点的颜色信息;
对所述M个第三子图像分别进行下采样,得到M个第一子图像。
在一个实施例中,M个第三子图像各自的图像内容分别与所述行人图像中M个第二图像区域中的图像内容相同,相邻的两个第二图像区域存在重叠区域;或者
相邻的两个第一图像区域存在重叠区域。
在一个实施例中,所述第二行人识别神经网络对行人的识别精度高于所述第一行人识别神经网络对行人的识别精度。
在一个实施例中,所述第一行人识别神经网络的网络参数的数据类型为8bit位长度的整型。
在一个实施例中,所述将所述M个第一子图像输入至已训练的第一行人识别神经网络之前,包括:
对第一行人识别神经网络进行推理校准,获得已推理校准的所述第一行人识别神经网络;推理校准之前的第一行人识别神经网络的网络参数的数据类型为32bit位长度的浮点数;推理校准之后的第一行人识别神经网络的网络参数的数据类型为8bit位长度的整型。
在一个实施例中,所述第二行人识别神经网络的网络参数的数据类型为8bit位长度的整型。
在一个实施例中,所述将所述K个第二子图像输入至已训练的第二行人识别神经网络之前,包括:
对第二行人识别神经网络进行推理校准,获得已推理校准的所述第二行人识别神经网络;推理校准之前的第二行人识别神经网络的网络参数的数据类型为32bit位长度的浮点数;推理校准之后的第二行人识别神经网络的网络参数的数据类型为8bit位长度的整型。
在一个实施例中,所述对J个第二边界框进行融合,得到H个行人各自的第三边界框,包括:
将所述J个第二边界框中存在交叉的两个第二边界框分为一组,得到F个边界框组;F为自然数;
针对每个边界框组,确定长边方向上两个宽边之间的最小间距,作为第一间距;长边方向为行人的头指向脚的方向;
确定宽边方向上位于第一侧的两个第二边界框的长边之间的第二间距,以及位于第二侧的两个第二边界框的长边之间的第三间距;第一侧与第二侧相对;
当第一间距大于第一所选间距,且第二间距、第三间距分别小于第二所选间距时,获取两个第二边界框的顶点坐标中坐标最小的第一顶点坐标以及坐标最大的第二顶点坐标;
以所述第一顶点坐标与所述第二顶点坐标为对角顶点获得第三边界框。
根据本发明实施例的第二方面,提供一种图像处理装置,包括:
第一获取模块,用于根据行人图像获得M个第一子图像;所述M个第一子图像的分辨率小于所述行人图像的分辨率;M为大于1的自然数;
第二获取模块,用于将所述M个第一子图像输入至已训练的第一行人识别神经网络,获得所述M个第一子图像中N个第一边界框;N为自然数;所述第一边界框中包括至少一个行人的图像;
划分模块,用于将所述行人图像进行划分,获得L个第一图像区域;所述L个第一图像区域包括所述行人图像的全部像素点的颜色信息;L为自然数,L大于M;
选择模块,用于从所述L个第一图像区域中选择出与所述第一边界框的位置至少部分重叠的K个目标图像区域;K为自然数,K小于或者等于L;
第三获取模块,用于根据所述K个目标图像区域获得K个第二子图像;K个第二子图像的图像内容与K个目标图像区域的图像内容一一对应;所述第二子图像的分辨率等于所述行人图像的分辨率;
第四获取模块,将所述K个第二子图像输入至已训练的第二行人识别神经网络,获得所述K个第二子图像中用于框出行人的J个第二边界框;J为自然数,J大于或者等于N;所述第二边界框中包括行人的完整图像或者部分图像;第二行人识别神经网络的网络参数与第一行人识别神经网络的网络参数不同;
融合模块,用于对J个第二边界框进行融合,得到H个行人各自的第三边界框;H为自然数,H大于或者等于N,同一个所述第三边界框中仅包括一个行人的图像。
根据本发明实施例的第三方面,提供一种终端设备,包括处理器和存储器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述存储器上所存储的计算机程序,实现上述的方法步骤。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
根据上述实施例可知,通过根据行人图像获得M个分辨率小于行人图像的分辨率的第一子图像,将M个第一子图像输入至已训练的第一行人识别神经网络,获得M个第一子图像中N个第一边界框,这样,可以快速地确定存在行人的大致区域。然后,将行人图像进行划分,获得L个第一图像区域,并从L个第一图像区域中选择出与第一边界框的位置至少部分重叠的K个目标图像区域,根据K个目标图像区域获得K个第二子图像,K个第二子图像的图像内容与K个目标图像区域的图像内容一一对应。然后,将K个第二子图像输入至已训练的第二行人识别神经网络,获得K个第二子图像中用于框出行人的J个第二边界框。这样,存在行人的大致区域之外的区域可以不进行处理,可以减少数据处理量,提高行人检测的速度。最后,对J个第二边界框进行融合,得到H个行人各自的第三边界框,由于第二行人识别神经网络的网络参数与第一行人识别神经网络的网络参数不同,且H大于或者等于N,可以提高行人检测的精确度。综上所述,本发明实施例提供的技术方案,可以提高行人检测的速度以及精确度,有利于实现对行人的实时检测。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据本发明实施例示出的一种图像处理方法的流程图;
图2是根据本发明实施例示出的另一种图像处理方法的流程图;
图3~图10是根据本发明实施例示出的执行图像处理方法的过程中的图像示意图;
图11是根据本发明实施例示出的另一种图像处理方法的流程图;
图12是根据本发明实施例示出的确定第三边界框的方法示意图;
图13是根据本发明实施例示出的饱和映射示意图;
图14是根据本发明实施例示出的一种图像处理装置的框图;
图15是根据本发明实施例示出的终端设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据本发明实施例示出的一种图像处理方法。该图像处理方法可以应用于终端设备,该终端设备可以是智能手机、平板电脑、个人计算机或服务器等。该图像处理方法,如图1所示,可以包括以下步骤101~106:
在步骤101中,根据行人图像获得M个第一子图像;所述M个第一子图像的分辨率小于所述行人图像的分辨率;M为大于1的自然数。
在一个实施例中,行人图像为包括至少一个行人的图像。行人图像可以是高分辨率的行人图像,例如,行人图像的分辨率可以是4K分辨率,例如,4K分辨率为3840*2160的像素分辨率,但不限于此。在本发明实施例中,以行人图像的分辨率为3840*2160的像素分辨率,第一子图像的分辨率为736*736的像素分辨率为例进行说明。
在一个实施例中,如图2所示,步骤101可以包括以下步骤201~202:
在步骤201中,根据行人图像获得M个第三子图像,所述第三子图像的分辨率与所述行人图像的分辨率相同,且所述M个第三子图像包括所述行人图像的全部像素点的颜色信息。
在一个实施例中,M可为2。如图3~图4所示,可以对行人图像31进行等间距切分,获得2个第三子图像41、42,第三子图像41、42的分辨率与所述行人图像31的分辨率相同,第三子图像41、42各自的图像内容分别与所述行人图像31中2个图像区域311、312中的图像内容相同,该2个图像区域311、312位置相邻,且可存在重叠区域313,该2个第三子图像41、42包括所述行人图像31的全部像素点的颜色信息。其中第三子图像41、42的分辨率可以是2160*2160的像素分辨率。
当然,在根据行人图像31获得2个第三子图像41、42时,也可以根据行人图像31的2个图像区域311、312提取像素点的颜色信息获得2个第三子图像41、42。
在步骤202中,对所述M个第三子图像分别进行下采样,得到M个第一子图像。
在一个实施例中,如图5所示,可以对上述的2个第三子图像41、42分别进行下采样,获得2个第一子图像51、52。如上所述,第一子图像51、52的分辨率是736*736的像素分辨率。
在步骤102中,将所述M个第一子图像输入至已训练的第一行人识别神经网络,获得所述M个第一子图像中N个第一边界框;N为自然数;所述第一边界框中包括至少一个行人的图像。
在一个实施例中,第一行人识别神经网络可以是YOLO V2网络,但不限于此。在本发明实施例中,以第一行人识别神经网络可以是YOLO V2网络为例进行说明。
在一个实施例中,将2个第三子图像41、42输入至已训练的YOLO V2网络进行粗检测,可以获得N个第一边界框,每个第一边界框中包括至少一个行人的图像。例如,如图6所示,将图像61输入至已训练的YOLO V2网络,可以获得多个第一边界框62,同一第一边界框62可至少包括行人U1的图像,也可包括行人U2的部分或者全部完整图像。
在一个实施例中,YOLO V2网络可以使用DarkNet19主干网络、或使用ShuffleNet、MobileNet等轻量化网络。
在一个实施例中,第一行人识别神经网络的网络参数的数据类型可为8bit位长度的整型。这样,可以提高行人检测的速度。
在一个实施例中,在步骤102之前,还包括:
对第一行人识别神经网络进行推理校准,获得已推理校准的所述第一行人识别神经网络。其中,推理校准之前的第一行人识别神经网络的网络参数的数据类型为32bit位长度的浮点数,推理校准之后的第一行人识别神经网络的网络参数的数据类型为8bit位长度的整型。关于上述的推理校准将在下文中介绍,在此不作介绍。
在步骤103中,将所述行人图像进行划分,获得L个第一图像区域;所述L个第一图像区域包括所述行人图像的全部像素点的颜色信息;L为自然数,L大于M。
在一个实施例中,L为8。如图7所示,可以对行人图像31进行等间距划分,获得8个第一图像区域711~718,该8个第一图像区域711~718包括所述行人图像31的全部像素点的颜色信息。相邻的两个第一图像区域存在重叠区域71、72、73、74、75、76、77、78、79、710,例如,图像区域711与图像区域712相邻,二者存在重叠区域71,图像区域711与图像区域715相邻,二者存在重叠区域77。
在步骤104中,从所述L个第一图像区域中选择出与所述第一边界框的位置至少部分重叠的K个目标图像区域;K为自然数,K小于或者等于L。
在一个实施例中,可以获取上述的第一边界框62在行人图像31中的第一位置以及L个第一图像区域各自在行人图像31中的第二位置,然后根据获取的第一位置以及第二位置,从8个第一图像区域711~718中选择出与所述第一边界框62的位置部分重叠或者全部重叠的第一图像区域,得到上述的K个目标图像区域。例如,第一图像区域711与一个第一边界框62部分重叠,则将第一图像区域711作为目标图像区域,第一图像区域714与另一个第一边界框62全部重叠,则将第一图像区域714作为目标图像区域。如图7~图8所示,可以从8个第一图像区域711~718中选择出4个目标图像区域,该4个目标图像区域分别是第一图像区域711、第一图像区域714、第一图像区域715以及第一图像区域717。
在步骤105中,根据所述K个目标图像区域获得K个第二子图像;K个第二子图像的图像内容与K个目标图像区域的图像内容一一对应。所述第二子图像的分辨率等于所述行人图像的分辨率。
在一个实施例中,如图9所示,可以根据上述的4个目标图像区域的像素点的信息获得4个第二子图像91~94,4个第二子图像91~94的图像内容与4个目标图像区域711、714、715、717的图像内容一一对应。例如,第二子图像91的图像内容可以与目标图像区域711的图像内容相同,第二子图像92的图像内容可以与目标图像区域714的图像内容相同,第二子图像93的图像内容可以与目标图像区域715的图像内容相同,第二子图像94的图像内容可以与目标图像区域717的图像内容相同。其中,第二子图像91~94的分辨率可以是1060*1060的像素分辨率。
在步骤105中,将所述K个第二子图像输入至已训练的第二行人识别神经网络,获得所述K个第二子图像中用于框出行人的J个第二边界框;J为自然数,J大于或者等于N;所述第二边界框中包括行人的完整图像或者部分图像;第二行人识别神经网络的网络参数与第一行人识别神经网络的网络参数不同。
在一个实施例中,第二行人识别神经网络可以是YOLO V3,YOLO V3可以使用DarkNet53网络,也可以采用更高检测精度的DenseNet201网络,但不限于此。
在一个实施例中,将4个第二子图像91~94输入YOLO V3,可以获得至少3个第二边界框。每个第二边界框中包括行人的完整图像或者部分图像。如图10所示,第二边界框1001中包括一个行人U3的部分图像,第二边界框1002中也包括一个行人U4的部分图像。其中,行人U3与行人U4可以是同一个行人。
在一个实施例中,上述的第二行人识别神经网络对行人的识别精度高于上述的第一行人识别神经网络对行人的识别精度。例如,YOLO V3对行人的识别精度高于YOLO V2对行人的识别精度。
在一个实施例中,上述的第二行人识别神经网络的网络参数的数据类型为8bit位长度的整型。这样,可以提高行人检测的速度。
在一个实施例中,在步骤105之前,还可包括:
对第二行人识别神经网络进行推理校准,获得已推理校准的所述第二行人识别神经网络。推理校准之前的第二行人识别神经网络的网络参数的数据类型为32bit位长度的浮点数,推理校准之后的第二行人识别神经网络的网络参数的数据类型为8bit位长度的整型。关于上述的推理校准将在下文中介绍,在此不作介绍。
在步骤106中,对J个第二边界框进行融合,得到H个行人各自的第三边界框;H为自然数,H大于或者等于N,同一个所述第三边界框中仅包括一个行人的图像。
在一个实施例中,同一个行人的图像可以一部分位于一个目标图像区域,另一部分位于另一个目标图像区域中。也就是,两个不同的第二边界框可能框出的是同一个行人的不同部分图像。因此,需要对所有第二边界框进行融合,得到第三边界框,使得同一个第三边界框中仅包括一个行人的图像。
在一个实施例中,如图11所示,步骤106可以包括以下步骤1101~1105:
在步骤1101中,将所述J个第二边界框中存在交叉的两个第二边界框分为一组,得到F个边界框组;F为自然数。
在本实施例中,可以获取所有第二边界框各自在行人图像31中的第三位置,根据得到的第三位置将存在位置重叠的两个第二边界框分为一组,得到F个边界框组。例如,如图10所示,第二边界框1001与第二边界框1002存在交叉,可以将第二边界框1001与第二边界框1002分到同一边界框组。需要说明的是,同一个第二边界框可以属于不同的边界框组。
在步骤1102中,针对每个边界框组,确定长边方向上两个宽边之间的最小间距,作为第一间距;长边方向为行人的头指向脚的方向。
在本实施例中,针对每个边界框组,执行步骤1102~1105。
在本实施例中,针对每个边界框组,可以确定在第二边界框的长边方向上两个宽边之间的最小间距,作为第一间距;长边方向为行人的头指向脚的方向。下面以第二边界框1001与第二边界框1002组成的边界框组为例进行说明。如图12所示,可以先获取宽边X1、X2、X3、X4中每两个宽边之间的间距,可以得到4个间距,然后从该4个间距中确定最小间距,作为第一间距。其中,宽边X2、X3之间的间距是最小间距,可以作为上述的第一间距d1。
在步骤1103中,确定宽边方向上位于第一侧的两个第二边界框的长边之间的第二间距,以及位于第二侧的两个第二边界框的长边之间的第三间距;第一侧与第二侧相对。
在本实施例中,第二边界框1001的长边Y1、第二边界框1002的Y3位于宽边方向上位于第一侧,第二边界框1001的长边Y2、第二边界框1002的Y4位于宽边方向上位于第二侧。确定长边Y1与长边Y3之间的间距作为第二间距d2,并确定长边Y2与长边Y4之间的间距作为第三间距d3。
在步骤1104中,当第一间距大于第一所选间距,且第二间距、第三间距分别小于第二所选间距时,获取两个第二边界框的顶点坐标中坐标最小的第一顶点坐标以及坐标最大的第二顶点坐标。
在本实施例中,当第一间距d1大于第一所选间距,且第二间距d2、第三间距d3分别小于第二所选间距时,可以获取两个第二边界框1001、1002的所有顶点坐标中坐标最小的第一顶点坐标以及坐标最大的第二顶点坐标。如图12所示,第二边界框1001、1002包括顶点A、B、C、D、Q、W、E、R,其中,顶点A的坐标为上述的最小的第一顶点坐标,顶点R的坐标为上述的坐标最大的第二顶点坐标。其中,第一所选间距、第二所选间距可以是终端设备出厂前设置的,也可以是用户设置的。
在步骤1105中,以所述第一顶点坐标与所述第二顶点坐标为对角顶点获得第三边界框。
在本实施例中,可以以上述的第一顶点坐标与上述的第二顶点坐标为对角顶点确定一个矩形框,作为上述的第三边界框1201。该第三边界框1201中仅包括一个行人的图像。
在一个实施例中,在步骤106之后,终端设备可以不再显示上述的第二边界框。
下面介绍一下上面提到的推理校准的方法:
上述的行人图像是视频中的一帧图像,上述的图像处理方法可以用于检测视频中的行人。为了保证推理的速度能够满足4K分辨率视频的实时检测,本发明实施例中的YOLO网络使用INT8(8bit位长度的整型)整数型推理,但是使用INT8推理需要将神经网络每一层输出的特征和可训练网络参数的FP32(32bit位长度的浮点数)的数据格式影射成INT8格式,这个确保信息损失最少的影射的过程称之为校准,具体实施方案如下:
将FP32的张量降为INT8的张量的过程就是一个信息再编码的过程,最简单的映射方式就是线性映射(或称线性量化),一个张量在映射前后关系满足下式:
T=sf×t+b
其中,T为FP32格式的张量,t为INT8格式的张量,sf为换算系数或称比例因子,b为FP32格式的偏置。
经实验证明,上述的偏置实际上是不需要的,因此去掉偏置,也就是:
T=sf×t
需要强调的是,神经网络每一层上每一个张量的比例因子可能并不相同,因此,神经网络每一层上每一个张量的比例因子需要分别计算。如何确定每一层的比例因子是整个校准过程的关键。经过实验得知,使用饱和映射可以将信息损失减小到最少,找到神经网络每一层使KL(Kullback–Leibler divergence)散度最小的阈值T0,从而通过计算得到比例因子sf,映射方式为:
如图13所示,将FP32格式的张量T中小于或者等于-|T0|的元素值映射至INT8格式的-127,将满足-|T0|<T<|T0|的元素值通过比例因子映射至INT8格式的区间(-127,127),将张量T中大于或者等于|T0|的元素值映射至INT8格式的127。
假设最小的KL散度记为S,下面介绍计算T0的方法:
首先,在神经网络的训练集中随机抽取所选数量的图像组成校准集,在校准集上使用FP32格式网络参数进行推理,得到神经网络每层输出的特征向量,记为P。其中,训练集样本所选数量例如可以是500。例如P可以是256*256*128维度的向量,但不限于此。特征向量P中每一个元素为一个FP32格式的浮点数。
接着,对特征向量P计算统计直方图。其中,统计直方图按照特征值大小从小到大均匀分为n个区间。例如n可以是2048。
对n个区间分别进行遍历,确定每个区间的中间值Mid,将该中间值Mid作为上述的T0计算映射参数sf,将FP32格式网络参数映射到INT8格式,得到INT8格式的特征,即特征向量V,V的维度与其对应的P相同。
接着,根据特征向量P与特征向量V计算KL散度,获得2048个KL散度。其中,KL散度的计算公式如下:
其中,Pi为特征向量P中第i个FP32特征值,Vi特征向量V中第i个INT8特征值,i为自然数。
接着,遍历2048个KL散度,确定最小的KL散度,即确定S。
接着,可以将计算S所使用的中间值Mid确定为T0
在本发明实施例中,通过根据行人图像获得M个分辨率小于行人图像的分辨率的第一子图像,将M个第一子图像输入至已训练的第一行人识别神经网络,获得M个第一子图像中N个第一边界框,这样,可以快速地确定存在行人的大致区域。然后,将行人图像进行划分获得L个第一图像区域,并从L个第一图像区域中选择出与第一边界框的位置至少部分重叠的K个目标图像区域,根据K个目标图像区域获得K个第二子图像,K个第二子图像的图像内容与K个目标图像区域的图像内容一一对应。然后,将K个第二子图像输入至已训练的第二行人识别神经网络,获得K个第二子图像中用于框出行人的J个第二边界框。这样,存在行人的大致区域之外的区域可以不进行处理,可以减少数据处理量,提高行人检测的速度。最后,对J个第二边界框进行融合,得到H个行人各自的第三边界框,由于第二行人识别神经网络的网络参数与第一行人识别神经网络的网络参数不同,且H大于或者等于N,可以提高行人检测的精确度。综上所述,本发明实施例提供的技术方案,可以提高行人检测的速度以及精确度,有利于实现对行人的实时检测。
本发明的实施例还提出了一种图像处理装置,如图14所述,该装置包括:
第一获取模块1401,用于根据行人图像获得M个第一子图像;所述M个第一子图像的分辨率小于所述行人图像的分辨率;M为大于1的自然数;
第二获取模块1402,用于将所述M个第一子图像输入至已训练的第一行人识别神经网络,获得所述M个第一子图像中N个第一边界框;N为自然数;所述第一边界框中包括至少一个行人的图像;
划分模块1403,用于将所述行人图像进行划分,获得L个第一图像区域;所述L个第一图像区域包括所述行人图像的全部像素点的颜色信息;L为自然数,L大于M;
选择模块1404,用于从所述L个第一图像区域中选择出与所述第一边界框的位置至少部分重叠的K个目标图像区域;K为自然数,K小于或者等于L;
第三获取模块1405,用于根据所述K个目标图像区域获得K个第二子图像;K个第二子图像的图像内容与K个目标图像区域的图像内容一一对应;所述第二子图像的分辨率等于所述行人图像的分辨率;
第四获取模块1406,将所述K个第二子图像输入至已训练的第二行人识别神经网络,获得所述K个第二子图像中用于框出行人的J个第二边界框;J为自然数,J大于或者等于N;所述第二边界框中包括行人的完整图像或者部分图像;第二行人识别神经网络的网络参数与第一行人识别神经网络的网络参数不同;
融合模块1407,用于对J个第二边界框进行融合,得到H个行人各自的第三边界框;H为自然数,H大于或者等于N,同一个所述第三边界框中仅包括一个行人的图像。
在本发明实施例中,通过根据行人图像获得M个分辨率小于行人图像的分辨率的第一子图像,将M个第一子图像输入至已训练的第一行人识别神经网络,获得M个第一子图像中N个第一边界框,这样,可以快速地确定存在行人的大致区域。然后,将行人图像进行划分获得L个第一图像区域,并从L个第一图像区域中选择出与第一边界框的位置至少部分重叠的K个目标图像区域,根据K个目标图像区域获得K个第二子图像,K个第二子图像的图像内容与K个目标图像区域的图像内容一一对应。然后,将K个第二子图像输入至已训练的第二行人识别神经网络,获得K个第二子图像中用于框出行人的J个第二边界框。这样,存在行人的大致区域之外的区域可以不进行处理,可以减少数据处理量,提高行人检测的速度。最后,对J个第二边界框进行融合,得到H个行人各自的第三边界框,由于第二行人识别神经网络的网络参数与第一行人识别神经网络的网络参数不同,且H大于或者等于N,可以提高行人检测的精确度。综上所述,本发明实施例提供的技术方案,可以提高行人检测的速度以及精确度,有利于实现对行人的实时检测。
本发明的实施例还提出了一种终端设备,包括处理器和存储器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述存储器上所存储的计算机程序,实现上述任一实施例所述的方法步骤。
本发明的实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法步骤。
关于上述实施例中的装置,其中处理器执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图15是根据一示例性实施例示出的一种终端设备的框图。例如,终端设备1500可以被提供为一服务器。参照图15,设备1500包括处理组件1522,其进一步包括一个或多个处理器,以及由存储器1532所代表的存储器资源,用于存储可由处理部件1522的执行的指令,例如应用程序。存储器1532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1522被配置为执行指令,以执行上述用于图像处理方法。
设备1500还可以包括一个电源组件1526被配置为执行设备1500的电源管理,一个有线或无线网络接口1550被配置为将设备1500连接到网络,和一个输入输出(I/O)接口1558。设备1500可以操作基于存储在存储器1532的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1532,上述指令可由设备1500的处理组件1522执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本发明中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (12)

1.一种图像处理方法,其特征在于,包括:
根据行人图像获得M个第一子图像;所述M个第一子图像的分辨率小于所述行人图像的分辨率;M为大于1的自然数;
将所述M个第一子图像输入至已训练的第一行人识别神经网络,获得所述M个第一子图像中N个第一边界框;N为自然数;所述第一边界框中包括至少一个行人的图像;
将所述行人图像进行划分,获得L个第一图像区域;所述L个第一图像区域包括所述行人图像的全部像素点的颜色信息;L为自然数,L大于M;
从所述L个第一图像区域中选择出与所述第一边界框的位置至少部分重叠的K个目标图像区域;K为自然数,K小于或者等于L;
根据所述K个目标图像区域获得K个第二子图像;K个第二子图像的图像内容与K个目标图像区域的图像内容一一对应;所述第二子图像的分辨率等于所述行人图像的分辨率;
将所述K个第二子图像输入至已训练的第二行人识别神经网络,获得所述K个第二子图像中用于框出行人的J个第二边界框;J为自然数,J大于或者等于N;所述第二边界框中包括行人的完整图像或者部分图像;第二行人识别神经网络的网络参数与第一行人识别神经网络的网络参数不同;
对J个第二边界框进行融合,得到H个行人各自的第三边界框;H为自然数,H大于或者等于N,同一个所述第三边界框中仅包括一个行人的图像。
2.根据权利要求1所述的图像处理方法,其特征在于,所述根据行人图像获得M个第一子图像,包括:
根据行人图像获得M个第三子图像,所述第三子图像的分辨率与所述行人图像的分辨率相同,且所述M个第三子图像包括所述行人图像的全部像素点的颜色信息;
对所述M个第三子图像分别进行下采样,得到M个第一子图像。
3.根据权利要求2所述的图像处理方法,其特征在于,M个第三子图像各自的图像内容分别与所述行人图像中M个第二图像区域中的图像内容相同,相邻的两个第二图像区域存在重叠区域;或者
相邻的两个第一图像区域存在重叠区域。
4.根据权利要求1所述的图像处理方法,其特征在于,所述第二行人识别神经网络对行人的识别精度高于所述第一行人识别神经网络对行人的识别精度。
5.根据权利要求1所述的图像处理方法,其特征在于,所述第一行人识别神经网络的网络参数的数据类型为8bit位长度的整型。
6.根据权利要求5所述的图像处理方法,其特征在于,所述将所述M个第一子图像输入至已训练的第一行人识别神经网络之前,包括:
对第一行人识别神经网络进行推理校准,获得已推理校准的所述第一行人识别神经网络;推理校准之前的第一行人识别神经网络的网络参数的数据类型为32bit位长度的浮点数;推理校准之后的第一行人识别神经网络的网络参数的数据类型为8bit位长度的整型。
7.根据权利要求1所述的图像处理方法,其特征在于,所述第二行人识别神经网络的网络参数的数据类型为8bit位长度的整型。
8.根据权利要求7所述的图像处理方法,其特征在于,所述将所述K个第二子图像输入至已训练的第二行人识别神经网络之前,包括:
对第二行人识别神经网络进行推理校准,获得已推理校准的所述第二行人识别神经网络;推理校准之前的第二行人识别神经网络的网络参数的数据类型为32bit位长度的浮点数;推理校准之后的第二行人识别神经网络的网络参数的数据类型为8bit位长度的整型。
9.根据权利要求1所述的图像处理方法,其特征在于,所述对J个第二边界框进行融合,得到H个行人各自的第三边界框,包括:
将所述J个第二边界框中存在交叉的两个第二边界框分为一组,得到F个边界框组;F为自然数;
针对每个边界框组,确定长边方向上两个宽边之间的最小间距,作为第一间距;长边方向为行人的头指向脚的方向;
确定宽边方向上位于第一侧的两个第二边界框的长边之间的第二间距,以及位于第二侧的两个第二边界框的长边之间的第三间距;第一侧与第二侧相对;
当第一间距大于第一所选间距,且第二间距、第三间距分别小于第二所选间距时,获取两个第二边界框的顶点坐标中坐标最小的第一顶点坐标以及坐标最大的第二顶点坐标;
以所述第一顶点坐标与所述第二顶点坐标为对角顶点获得第三边界框。
10.一种图像处理装置,其特征在于,包括:
第一获取模块,用于根据行人图像获得M个第一子图像;所述M个第一子图像的分辨率小于所述行人图像的分辨率;M为大于1的自然数;
第二获取模块,用于将所述M个第一子图像输入至已训练的第一行人识别神经网络,获得所述M个第一子图像中N个第一边界框;N为自然数;所述第一边界框中包括至少一个行人的图像;
划分模块,用于将所述行人图像进行划分,获得L个第一图像区域;所述L个第一图像区域包括所述行人图像的全部像素点的颜色信息;L为自然数,L大于M;
选择模块,用于从所述L个第一图像区域中选择出与所述第一边界框的位置至少部分重叠的K个目标图像区域;K为自然数,K小于或者等于L;
第三获取模块,用于根据所述K个目标图像区域获得K个第二子图像;K个第二子图像的图像内容与K个目标图像区域的图像内容一一对应;所述第二子图像的分辨率等于所述行人图像的分辨率;
第四获取模块,将所述K个第二子图像输入至已训练的第二行人识别神经网络,获得所述K个第二子图像中用于框出行人的J个第二边界框;J为自然数,J大于或者等于N;所述第二边界框中包括行人的完整图像或者部分图像;第二行人识别神经网络的网络参数与第一行人识别神经网络的网络参数不同;
融合模块,用于对J个第二边界框进行融合,得到H个行人各自的第三边界框;H为自然数,H大于或者等于N,同一个所述第三边界框中仅包括一个行人的图像。
11.一种终端设备,其特征在于,包括处理器和存储器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述存储器上所存储的计算机程序,实现权利要求1-9任一项所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9任一项所述的方法步骤。
CN201910569605.5A 2019-06-27 2019-06-27 图像处理方法和装置 Active CN112149463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910569605.5A CN112149463B (zh) 2019-06-27 2019-06-27 图像处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910569605.5A CN112149463B (zh) 2019-06-27 2019-06-27 图像处理方法和装置

Publications (2)

Publication Number Publication Date
CN112149463A CN112149463A (zh) 2020-12-29
CN112149463B true CN112149463B (zh) 2024-04-23

Family

ID=73868833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910569605.5A Active CN112149463B (zh) 2019-06-27 2019-06-27 图像处理方法和装置

Country Status (1)

Country Link
CN (1) CN112149463B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113034548B (zh) * 2021-04-25 2023-05-26 安徽科大擎天科技有限公司 一种适用于嵌入式终端的多目标跟踪方法及其系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368886A (zh) * 2017-02-23 2017-11-21 奥瞳系统科技有限公司 基于重复使用小规模卷积神经网络模块的神经网络系统
CN107506707A (zh) * 2016-11-30 2017-12-22 奥瞳系统科技有限公司 采用嵌入式系统中的小规模卷积神经网络模块的人脸检测
US9959647B1 (en) * 2015-09-08 2018-05-01 National Technology & Engineering Solutions Of Sandia, Llc Representation of activity in images using geospatial temporal graphs
CN109376603A (zh) * 2018-09-25 2019-02-22 北京周同科技有限公司 一种视频识别方法、装置、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959647B1 (en) * 2015-09-08 2018-05-01 National Technology & Engineering Solutions Of Sandia, Llc Representation of activity in images using geospatial temporal graphs
CN107506707A (zh) * 2016-11-30 2017-12-22 奥瞳系统科技有限公司 采用嵌入式系统中的小规模卷积神经网络模块的人脸检测
CN107368886A (zh) * 2017-02-23 2017-11-21 奥瞳系统科技有限公司 基于重复使用小规模卷积神经网络模块的神经网络系统
CN109376603A (zh) * 2018-09-25 2019-02-22 北京周同科技有限公司 一种视频识别方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN112149463A (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
US11488308B2 (en) Three-dimensional object detection method and system based on weighted channel features of a point cloud
US11830230B2 (en) Living body detection method based on facial recognition, and electronic device and storage medium
WO2019218824A1 (zh) 一种移动轨迹获取方法及其设备、存储介质、终端
EP3576017A1 (en) Method, apparatus, and device for determining pose of object in image, and storage medium
CN115240121B (zh) 一种用于增强行人局部特征的联合建模方法和装置
CN110674688A (zh) 用于视频监控场景的人脸识别模型获取方法、系统和介质
CN110163188B (zh) 视频处理以及在视频中嵌入目标对象的方法、装置和设备
US20120275653A1 (en) Method for recognizing license plate image, and related computer program product, computer-readable recording medium, and image recognizing apparatus using the same
JP4738469B2 (ja) 画像処理装置、画像処理プログラムおよび画像処理方法
CN110705344B (zh) 一种基于深度学习的人群计数模型及其实现方法
JP2019117577A (ja) プログラム、学習処理方法、学習モデル、データ構造、学習装置、および物体認識装置
CN110543877A (zh) 标识识别方法及其模型的训练方法、装置和电子系统
CN111753782A (zh) 一种基于双流网络的假脸检测方法、装置及电子设备
CN104537381B (zh) 一种基于模糊不变特征的模糊图像识别方法
CN116310105B (zh) 基于多视图的物体三维重建方法、装置、设备及存储介质
CN110443252A (zh) 一种文字检测方法、装置及设备
CN105046278A (zh) 基于Haar特征的Adaboost检测算法的优化方法
CN110503002B (zh) 一种人脸检测方法和存储介质
CN112149463B (zh) 图像处理方法和装置
CN115761827A (zh) 一种化妆进度检测方法、装置、设备及存储介质
Zhang et al. Nonlocal edge-directed interpolation
KR101592087B1 (ko) 배경 영상의 위치를 이용한 관심맵 생성 방법 및 이를 기록한 기록 매체
CN111160255B (zh) 一种基于三维卷积网络的捕鱼行为识别方法及系统
CN107016675A (zh) 一种基于非局部时空特征学习的无监督视频分割方法
CN113313707A (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
GR01 Patent grant
GR01 Patent grant