CN117710697A - 对象检测方法、电子设备、存储介质及程序产品 - Google Patents
对象检测方法、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN117710697A CN117710697A CN202311000823.XA CN202311000823A CN117710697A CN 117710697 A CN117710697 A CN 117710697A CN 202311000823 A CN202311000823 A CN 202311000823A CN 117710697 A CN117710697 A CN 117710697A
- Authority
- CN
- China
- Prior art keywords
- image
- frame
- face
- value
- electronic device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 295
- 238000000034 method Methods 0.000 claims abstract description 87
- 238000012545 processing Methods 0.000 claims description 101
- 230000006870 function Effects 0.000 claims description 71
- 230000015654 memory Effects 0.000 claims description 48
- 238000012937 correction Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 24
- 238000007781 pre-processing Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 7
- 230000009191 jumping Effects 0.000 abstract description 7
- 230000000875 corresponding effect Effects 0.000 description 175
- 210000000887 face Anatomy 0.000 description 47
- 238000010586 diagram Methods 0.000 description 28
- 238000007726 management method Methods 0.000 description 20
- 238000011176 pooling Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 14
- 238000010606 normalization Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 11
- 239000000284 extract Substances 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 6
- 230000001629 suppression Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000009499 grossing Methods 0.000 description 4
- 238000004148 unit process Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 208000035874 Excoriation Diseases 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000002087 whitening effect Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
Abstract
本申请实施例提供一种对象检测方法、电子设备、存储介质及程序产品,应用于电子技术领域。该方法获取第一图像流,第一图像流包括第一图像和第二图像,第一图像为第二图像之前的图像帧,根据第一图像中的每个第一对象的特征数据以及第二图像中的每个第二对象的特征数据,确定第一对象与第二对象之间的匹配关系,该匹配关系用于表示第一对象与第二对象是否为同一对象,根据匹配关系显示第二对象对应的目标对象框。因此,本申请实施例可以根据第一对象与第二对象之间的匹配关系,来依次显示多帧图像中的对象所在的对象框,可以提高对象框显示的稳定性,从而改善对象框出现的跳变、闪动等问题。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种对象检测方法、电子设备、存储介质及程序产品。
背景技术
随着电子技术的不断发展,手机、平板电脑等电子设备逐渐成为人们日常生活和工作中较为常见的工具。目前,一些电子设备中设置有摄像头,摄像头可以为用户提供拍照或录像功能。
在采用电子设备进行拍摄时,可以对摄像头采集的图像流包括的多帧图像中的对象进行检测,例如,对图像流包括的多帧图像中的人脸进行检测。
但是,在对图像流包括的多帧图像中的对象进行检测之后,在依次显示图像流包括的多帧图像中的对象所在的对象框时,对象框可能会出现跳变、闪动等问题。
发明内容
本申请实施例提供一种对象检测方法、电子设备、存储介质及程序产品,在依次显示图像流包括的多帧图像中的对象所在的对象框时,可以提高对象框显示的稳定性,从而改善对象框出现的跳变、闪动等问题。
第一方面,本申请实施例提出一种对象检测方法,应用于电子设备,该方法包括:获取第一图像流,第一图像流包括第一图像和第二图像,第一图像为第二图像之前的图像帧,第一图像包括至少一个第一对象,第二图像包括至少一个第二对象;分别提取每个第一对象的特征数据以及每个第二对象的特征数据;根据每个第一对象的特征数据和每个第二对象的特征数据,确定第一对象与第二对象之间的匹配关系,匹配关系用于表示第一对象与第二对象是否为同一对象;根据匹配关系,显示第二对象对应的目标对象框。
这样,本申请实施例可以根据第一图像中的每个第一对象的特征数据,以及第二图像中的每个第二对象的特征数据,来确定第一对象与第二对象之间的匹配关系,确定出的匹配关系的精确度较高,使得电子设备在根据第一对象与第二对象之间的匹配关系,来依次显示第一图像流包括的多帧图像中的对象所在的对象框时,可以提高对象框显示的稳定性,从而改善对象框出现的跳变、闪动等问题。
在一种可能的实现方式中,第一图像流还包括第三图像,第三图像为第二图像的前一帧图像,且第三图像为第一图像之后的图像帧,第三图像包括第一对象。根据匹配关系,显示第二对象对应的目标对象框,包括:在第一对象与第二对象为同一对象的情况下,根据第三图像中的第一对象所在的跟踪框的坐标信息以及第二对象所在的第二对象框的坐标信息,确定第二对象对应的目标对象框的坐标信息;根据第二对象对应的目标对象框的坐标信息,显示目标对象框。这样,根据前一帧图像中的对象框的位置与后一帧图像中的对象框的位置进行平滑处理,从而降低对象框显示时的抖动。
在一种可能的实现方式中,在根据每个第一对象的特征数据和每个第二对象的特征数据,确定第一对象与第二对象之间的匹配关系之后,还包括:在第一对象与第二对象为同一对象的情况下,不执行针对第二对象的属性检测操作。这样,可以降低电子设备的功耗。
在一种可能的实现方式中,在根据每个第一对象的特征数据和每个第二对象的特征数据,确定第一对象与第二对象之间的匹配关系之后,还包括:根据匹配关系,执行目标操作;目标操作包括对象跟踪操作、关键点检测操作、美化处理操作以及自动对焦操作中的至少一项。这样,本申请实施例根据相邻的两帧检测图像中的对象的特征数据,来确定相邻的两帧检测图像中的对象之间的匹配关系,且将每一帧检测图像中的对象所在的对象框的坐标信息,以及相邻的两帧检测图像中的对象之间的匹配关系,作为对象跟踪、关键点检测、美化处理以及自动对焦等操作的输入数据,可以提高对象跟踪、关键点检测、美化处理以及自动对焦等操作处理后的图像在显示时的稳定性。
在一种可能的实现方式中,根据每个第一对象的特征数据和每个第二对象的特征数据,确定第一对象与第二对象之间的匹配关系,包括:计算第一对象的特征数据与第二对象的特征数据之间的特征距离,特征距离包括余弦距离和/或欧式距离;根据特征距离,确定第一对象与第二对象是否为同一对象。其中,该特征数据用于表示第一对象与第二对象之间的相似度,这样,基于计算第一对象与第二对象之间的相似度,来确定第一对象与第二对象是否为同一对象,其计算方式较为简单。
在一种可能的实现方式中,特征距离包括余弦距离。根据特征距离,确定第一对象与第二对象是否为同一对象,包括:在第一对象的特征数据与第二对象的特征数据之间的余弦距离大于或等于第一距离阈值的情况下,确定第一对象与第二对象为同一对象;在第一对象的特征数据与第二对象的特征数据之间的余弦距离小于第一距离阈值的情况下,确定第一对象与第二对象不为同一对象。这样,提供了一种基于余弦距离来判定第一对象与第二对象是否为同一对象的实现方式。
在一种可能的实现方式中,特征距离包括欧式距离。根据特征距离,确定第一对象与第二对象是否为同一对象,包括:在第一对象的特征数据与第二对象的特征数据之间的欧氏距离小于或等于第二距离阈值的情况下,确定第一对象与第二对象为同一对象;在第一对象的特征数据与第二对象的特征数据之间的欧氏距离大于第二距离阈值的情况下,确定第一对象与第二对象不为同一对象。这样,提供了一种基于欧式距离来判定第一对象与第二对象是否为同一对象的实现方式。
在一种可能的实现方式中,分别提取每个第一对象的特征数据以及每个第二对象的特征数据,包括:分别检测第一图像中的第一对象所在的第一对象框的坐标信息,以及第二图像中的第二对象所在的第二对象框的坐标信息;根据第一对象框的坐标信息从第一图像中提取第一对象框内的第一区域图像,以及根据第二对象框的坐标信息从第二图像中提取第二对象框内的第二区域图像,第一区域图像包括第一对象,第二区域图像包括第二对象;分别提取第一区域图像内的第一对象的特征数据,以及第二区域图像内的第二对象的特征数据。这样,可以使得电子设备获取到每一帧检测图像中的对象所在的对象框的坐标信息,以及每一帧检测图像中的对象的特征数据,为后续的处理操作提供数据支持。
在一种可能的实现方式中,分别检测第一图像中的第一对象所在的第一对象框的坐标信息,以第二图像中的第二对象所在的第二对象框的坐标信息,包括:对第一图像进行预处理,得到第四图像;采用对象检测模型对第四图像进行检测,得到多个第一候选框的坐标信息和置信度;根据多个第一候选框的置信度,从多个第一候选框中筛选出至少一个第一对象框,以得到至少一个第一对象框的坐标信息;对第二图像进行预处理,得到第五图像;采用对象检测模型对第五图像进行检测,得到多个第二候选框的坐标信息和置信度;根据多个第二候选框的置信度,从多个第二候选框中筛选出至少一个第二对象框,以得到至少一个第二对象框的坐标信息。这样,在采用对象检测模型对图像进行检测之前,对图像进行预处理,可以优化对象检测模型对图像中的对象的检出率。
在一种可能的实现方式中,对第一图像进行预处理,得到第四图像,包括:获取第一图像的第一图像参数,第一图像参数包括第一亮度值和/或第一曝光值;在第一图像参数不满足第一预设条件的情况下,对第一图像进行尺寸调整,得到第四图像。相应的,对第二图像进行预处理,得到第五图像,包括:获取第二图像的第二图像参数,第二图像参数包括第二亮度值和/或第二曝光值;在第二图像参数不满足第二预设条件的情况下,对第二图像进行尺寸调整,得到第五图像。其中,在第一图像参数包括第一亮度值的情况下,当第一亮度值大于或等于第一亮度阈值时,第一图像参数不满足第一预设条件;在第一图像参数包括第一曝光值的情况下,当第一曝光值大于或等于第一曝光阈值时,第一图像参数不满足第一预设条件;在第二图像参数包括第二亮度值的情况下,当第二亮度值大于或等于第二亮度阈值时,第二图像参数不满足第二预设条件;在第二图像参数包括第二曝光值的情况下,当第二曝光值大于或等于第二曝光阈值时,第二图像参数不满足第二预设条件。这样,基于图像的亮度值和/或曝光值,来衡量该图像是在正常光线场景下采集的图像,还是暗光或逆光场景下采集的图像。当图像是在正常光线场景下采集的图像时,通过对图像的尺寸进行调整,使得后续输入至对象检测模型的图像的尺寸比例一致,便于对象检测模型对图像中的对象进行检测。
在一种可能的实现方式中,在获取第一图像的第一图像参数之后,还包括:在第一图像参数满足第一预设条件的情况下,对第一图像进行矫正;对矫正后的第一图像进行尺寸调整,得到第四图像。相应的,在获取第二图像的第二图像参数之后,还包括:在第二图像参数满足第二预设条件的情况下,对第二图像进行矫正;对矫正后的第二图像进行尺寸调整,得到第五图像。其中,在第一图像参数包括第一亮度值的情况下,当第一亮度值小于第一亮度阈值时,第一图像参数满足第一预设条件;在第一图像参数包括第一曝光值的情况下,当第一曝光值小于第一曝光阈值时,第一图像参数满足第一预设条件;在第二图像参数包括第二亮度值的情况下,当第二亮度值小于第二亮度阈值时,第二图像参数满足第二预设条件;在第二图像参数包括第二曝光值的情况下,当第二曝光值小于第二曝光阈值时,第二图像参数满足第二预设条件。这样,基于图像的亮度值和/或曝光值,来衡量该图像是在正常光线场景下采集的图像,还是暗光或逆光场景下采集的图像。当图像是在暗光或逆光等场景下采集到的图像时,对图像进行矫正操作,并且在对图像进行矫正操作后才采用对象检测模型对矫正后的图像进行检测,可以使得对象检测模型不需要学习大量的暗光或逆光等特殊场景下的数据,且可以提高对象检测模型的检测效果,优化了对象检测模型针对暗光或逆光等场景下采集到的图像的检出率。
在一种可能的实现方式中,对第一图像进行尺寸调整,得到第四图像,包括:对第一图像的边缘进行像素填充,得到第四图像;第四图像的尺寸比例为预设比例。相应的,对第二图像进行尺寸调整,得到第五图像,包括:对第二图像的边缘进行像素填充,得到第五图像;第五图像的尺寸比例为预设比例。这样,通过对图像的边缘进行像素填充,来实现对图像的高度和宽度进行调整,避免resize操作造成的对象变形的风险,使得对象检测模型无需识别拉长或压扁的对象,从而优化对象检测模型对图像中的对象的检出率和准召率;并且,对图像的边缘进行像素填充的操作耗费的时长较短,从而可以提高对象检测的速度。
在一种可能的实现方式中,该方法还包括:对第一图像或第四图像进行归一化处理;对第二图像或第五图像进行归一化处理。这样,可以使得归一化处理后的图像中的像素值被限定在0到1的范围之间,从而利用归一化处理后图像的一致性,给后续的操作提供相同的基准,以提高后续的对象检测模型的检测精度。
在一种可能的实现方式中,对第一图像进行矫正,包括:获取第一图像的第一场景信息,第一场景信息包括高动态范围(high dynamic range,HDR)场景或非HDR场景;在第一场景信息为HDR场景的情况下,对第一图像进行第一矫正处理,得到矫正后的第一图像;在第一场景信息为非HDR场景的情况下,对第一图像进行第二矫正处理,得到矫正后的第一图像。相应的,对第二图像进行矫正,包括:获取第二图像的第二场景信息,第二场景信息包括HDR场景或非HDR场景;在第二场景信息为HDR场景的情况下,对第二图像进行第一矫正处理,得到矫正后的第二图像;在第二场景信息为非HDR场景的情况下,对第二图像进行第二矫正处理,得到矫正后的第二图像。这样,在图像的场景为HDR场景下的矫正方式,与图像的场景为非HDR场景下的矫正方式可以不同,便于针对不同场景的图像采用其适合的矫正方式进行矫正处理。
在一种可能的实现方式中,对第一图像进行第一矫正处理,得到矫正后的第一图像,包括:对第一图像进行直方图均衡化处理,得到矫正后的第一图像。相应的,对第二图像进行第一矫正处理,得到矫正后的第二图像,包括:对第二图像进行直方图均衡化处理,得到矫正后的第二图像。这样,基于直方图均衡化处理,可以增加矫正后的图像的局部对比度。
在一种可能的实现方式中,对第一图像进行第二矫正处理,得到矫正后的第一图像,包括:从第一灰度值对照表中,查找第一图像中的每个像素在各个颜色通道的第一灰度值对应的第二灰度值;将第一图像中的每个像素在各个颜色通道的第一灰度值,替换为对应的第二灰度值,得到矫正后的第一图像。相应的,对第二图像进行第二矫正处理,得到矫正后的第二图像,包括:从第一灰度值对照表中,查找第二图像中的每个像素在各个颜色通道的第三灰度值对应的第四灰度值;将第二图像中的每个像素在各个颜色通道的第三灰度值,替换为对应的第四灰度值,得到矫正后的第二图像。其中,第二灰度值与第一灰度值之间符合伽马函数关系,第四灰度值与第三灰度值之间也符合伽马函数关系。这样,基于对第一灰度值对照表进行查表的方式来对图像进行矫正,可以提高图像的矫正速度。
在一种可能的实现方式中,分别提取第一区域图像内的第一对象的特征数据,以及第二区域图像内的第二对象的特征数据,包括:采用行人重识别模型,分别提取第一区域图像内的第一对象的特征数据,以及第二区域图像内的第二对象的特征数据;行人重识别模型包括残差网络(residual neural network,ResNet)模型或MobileNet模型,特征数据包括行人重识别特征向量。这样,基于行人重识别模型来提取出每一帧检测图像的特征数据,从而使得确定出的相邻的两帧检测图像中的对象之间的匹配关系的精确度较高。
在一种可能的实现方式中,获取第一图像流,包括:获取第二图像流;对第二图像流包括的图像进行降采样处理,得到第一图像流;第一图像流包括的图像的尺寸小于第二图像流包括的图像的尺寸。这样,可以有效减少后续对第一图像流中的图像进行处理时的计算负担,从而降低图像处理所需的时长和功耗。
在一种可能的实现方式中,在分别提取每个第一对象的特征数据以及每个第二对象的特征数据之前,还包括:将第一图像的图像格式转换为RGB格式,以及将第二图像的图像格式转换为RGB格式。
在一种可能的实现方式中,第一对象和第二对象包括人脸。这样,本申请实施例可以适用于人脸检测。
第二方面,本申请实施例提出一种电子设备,包括存储器和处理器,存储器用于存储计算机程序,处理器用于调用计算机程序,以执行上述的对象检测方法。
第三方面,本申请实施例提出一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被运行时,实现上述的对象检测方法。
第四方面,本申请实施例提出一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行上述的对象检测方法。
第二方面至第四方面各可能的实现方式,效果与第一方面以及第一方面的可能的设计中的效果类似,在此不再赘述。
附图说明
图1为本申请实施例提供的一种启动相机应用的界面示意图;
图2为相关技术显示的一种图像的效果示意图;
图3为相关技术显示的另一种图像的效果示意图;
图4为相关技术显示的再一种图像的效果示意图;
图5为本申请实施例提供的电子设备的硬件系统结构示意图;
图6为本申请实施例提供的电子设备的软件系统结构示意图;
图7为本申请实施例提供的一种从图像中检测出对象所在的对象框的流程示意图;
图8为本申请实施例提供的第一灰度值对照表的示意图;
图9为本申请实施例提供的对象检测模型的结构示意图;
图10为本申请实施例提供的一种对象检测方法的流程示意图;
图11为本申请实施例提供的行人重识别模型的结构示意图;
图12为本申请实施例提供的对第一图像流中的多帧图像依次进行处理的示意图;
图13为本申请实施例显示的一种图像的效果示意图;
图14为本申请实施例显示的另一种图像的效果示意图;
图15为本申请实施例显示的再一种图像的效果示意图;
图16为本申请实施例提供的一种对象检测装置的结构示意图;
图17为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一芯片和第二芯片仅仅是为了区分不同的芯片,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
目前,在一些电子设备中设置有摄像头,在用户使用电子设备的过程中,可采用电子设备中的摄像头进行拍照或者录像等。
在采用电子设备进行拍摄时,摄像头会实时采集图像流,电子设备可以对图像流包括的多帧图像中的对象进行检测。检测得到的对象所在的对象框可以在电子设备的屏幕上进行显示,并且,检测得到的对象所在的对象框的坐标信息还可以为后续的处理过程提供数据支持。
以对象为人脸为例,可以电子设备的屏幕上显示人脸所在的人脸框,并且,电子设备可以将检测得到的人脸框的坐标信息,作为后续人脸跟踪、人脸属性检测、人脸关键点检测、美颜处理以及自动对焦等操作的输入数据,以提供数据支持。
下面以手机作为电子设备为例,结合图1所示的用户界面,来示意性说明本申请实施例所涉及的场景。
用户在点亮电子设备的屏幕且控制电子设备处于解锁状态时,电子设备可显示如图1中的(a)所示的第一界面101。其中,第一界面101可以为电子设备的桌面,在电子设备的桌面上显示有安装的多个应用程序的图标,如文件管理应用图标、电子邮件应用图标、天气应用图标、计算器应用图标、时钟应用图标、录音机应用图标、音乐应用图标、设置应用图标、通讯录应用图标、电话应用图标、信息应用图标以及相机应用图标1011等。
用户可以对相机应用图标1011进行触控操作,该触控操作可以是点击操作、长按操作等,使得电子设备接收到用户对相机应用图标1011的触控操作,电子设备响应于该触控操作,启动相机应用。
在相机应用启动之后,电子设备可以显示如图1中的(b)所示的第二界面102。其中,第二界面102可以为相机应用所提供的用于实现拍摄功能的预览界面,其包括预览框1021、拍摄控件1022、摄像头切换控件1023以及多种拍摄模式所对应的功能控件1024等。
预览框1021用于实时显示摄像头采集的图像流包括的多帧图像。拍摄控件1022用于触发电子设备的拍摄操作。摄像头切换控件1023用于切换前置摄像头或后置摄像头进行图像采集。多种拍摄模式所对应的功能控件1024可以包括夜景模式控件、人像模式控件、拍照模式控件、录像模式控件、专业模式控件以及用于开启相机应用中的更多功能的更多控件等。
因此,可以通过对相机应用图标1011进行触控操作,以启动相机应用。在相机应用启动之后,并在相机应用的预览界面实时显示摄像头采集的图像流包括的多帧图像的过程中,电子设备可以对图像流包括的多帧图像中的对象进行检测。
可以理解的是,图1中的(a)和图1中的(b)所示的界面,仅作为电子设备通过对相机应用图标进行触控操作,来启动相机应用过程中的用户界面的一种示例,并不能构成对本申请实施例的限定。
在另一种场景中,用户还可以通过电子设备上安装的第三方应用调用相应的接口,访问电子设备的相机应用,以启动相机应用。在相机应用启动之后,并在相机应用的预览界面实时显示摄像头采集的图像流包括的多帧图像的过程中,电子设备可以对图像流包括的多帧图像中的对象进行检测。
但是,电子设备在对图像流包括的多帧图像中的对象进行检测之后,在依次显示图像流包括的多帧图像中的对象所在的对象框时,对象框可能会出现跳变、闪动等问题。
下面以手机作为电子设备为例,图像中的对象为人脸,且对象框为人脸框为例,结合图2至图4所示的用户界面,来示意性说明相关技术中的电子设备,在对图像流包括的多帧图像中的人脸进行检测之后,在依次显示图像流包括的多帧图像中的人脸所在的人脸框时,人脸框出现跳变、闪动的问题。
第一种场景,如图2所示,可以在电子设备的预览界面的预览框1021内,依次显示图像流包括的多帧图像。以多帧图像包括如图2中的(a)所示的第1帧检测图像,如图2中的(b)所示的第2帧检测图像,以及如图2中的(c)所示的第3帧检测图像为例,第1帧检测图像、第2帧检测图像和第3帧检测图像均包括预览框1021内显示的两个人物,其中一个人物在显示时位于预览框1021内的左侧,另一个人物在显示时位于预览框1021内的右侧。
如图2中的(a)所示,电子设备可以对第1帧检测图像进行人脸检测,得到两个人物的人脸所在的人脸框的坐标位置,并根据这两个人物的人脸所在的人脸框的坐标位置,在预览框1021内显示位于左侧的人物对应的第一人脸框201,以及位于右侧的人物对应的第二人脸框202。
如图2中的(b)所示,电子设备可以对第2帧检测图像进行人脸检测,得到两个人物的人脸所在的人脸框的坐标位置,如位于左侧的人物的人脸所在的第三人脸框203的坐标位置,以及位于右侧的人物的人脸所在的第四人脸框204的坐标位置。
由于相关技术没有确定相邻的两帧检测图像中的各个人脸之间的匹配关系,或者,采用交并比(intersection over union,IOU)等方式来确定相邻的两帧检测图像中的各个人脸之间的匹配关系,其准确度较低,因此,可能会导致将第2帧检测图像中检测得到的第三人脸框203内的人脸,与第1帧检测图像中检测得到的第二人脸框202内的人脸误认为同一人脸,以及将第2帧检测图像中检测得到的第四人脸框204内的人脸,与第1帧检测图像中检测得到的第一人脸框201内的人脸被误认为同一人脸。
若第1帧检测图像与第2帧检测图像之间存在跟踪图像,则在第2帧检测图像中检测得到的第三人脸框203内的人脸,与第1帧检测图像中检测得到的第二人脸框202内的人脸被误认为同一人脸的情况下,电子设备会根据第三人脸框203的坐标位置,以及第2帧检测图像的前一帧跟踪图像中位于右侧的人物对应的人脸框的坐标位置,来共同确定第2帧检测图像中位于左侧的人物对应的第五人脸框205的坐标位置,并在预览框1021内显示位于左侧的人物对应的第五人脸框205。此时,位于左侧的人物对应的第五人脸框205的显示位置,相对于位于左侧的人物的人脸所在位置向右偏离一定距离。
相应的,在第2帧检测图像中检测得到的第四人脸框204内的人脸,与第1帧检测图像中检测得到的第一人脸框201内的人脸被误认为同一人脸的情况下,电子设备会根据第四人脸框204的坐标位置,以及第2帧检测图像的前一帧跟踪图像中位于左侧的人物对应的人脸框的坐标位置,来共同确定第2帧检测图像中位于右侧的人物对应的第六人脸框206的坐标位置,并在预览框1021内显示位于右侧的人物对应的第六人脸框206。此时,位于右侧的人物对应的第六人脸框206的显示位置,相对于位于右侧的人物的人脸所在位置向左偏离一定距离。
需要说明的是,电子设备在显示第2帧检测图像时,会显示位于左侧的人物对应的第五人脸框205以及位于右侧的人物对应的第六人脸框206,而不显示第三人脸框203和第四人脸框204。
如图2中的(c)所示,电子设备可以对第3帧检测图像进行人脸检测,得到两个人物的人脸所在的人脸框的坐标位置。若第3帧检测图像中检测得到的各个人脸,与第2帧检测图像中检测得到的各个人脸的匹配关系准确,则可以确定出第3帧检测图像中检测得到的位于左侧的人物对应的人脸框内的人脸,与第2帧检测图像中检测得到的第三人脸框203内的人脸为同一人脸,且第3帧检测图像中检测得到的位于右侧的人物对应的人脸框内的人脸,与第2帧检测图像中检测得到的第四人脸框204内的人脸为同一人脸。
若第3帧检测图像与第2帧检测图像之间存在跟踪图像,则在第3帧检测图像中检测得到的位于左侧的人物对应的人脸框内的人脸,与第2帧检测图像中检测得到的第三人脸框203内的人脸为同一人脸的情况下,电子设备会根据第3帧检测图像检测得到的位于左侧的人物对应的人脸框的坐标位置,以及第3帧检测图像的前一帧跟踪图像中位于左侧的人物对应的人脸框的坐标位置,来共同确定第3帧检测图像中位于左侧的人物对应的第七人脸框207的坐标位置,并在预览框1021内显示位于左侧的人物对应的第七人脸框207。此时,位于左侧的人物对应的第七人脸框207的显示位置,与位于左侧的人物的人脸所在位置基本一致。
相应的,在第3帧检测图像中检测得到的位于右侧的人物对应的人脸框内的人脸,与第2帧检测图像中检测得到的第四人脸框204内的人脸为同一人脸的情况下,电子设备会根据第3帧检测图像检测得到的位于右侧的人物对应的人脸框的坐标位置,以及第3帧检测图像的前一帧跟踪图像中位于右侧的人物对应的人脸框的坐标位置,来共同确定第3帧检测图像中位于右侧的人物对应的第八人脸框208的坐标位置,并在预览框1021内显示位于右侧的人物对应的第八人脸框208。此时,位于右侧的人物对应的第八人脸框208的显示位置,与位于右侧的人物的人脸所在位置基本一致。
因此,结合图2中的(a)、图2中的(b)以及图2中的(c)所示的界面,可以看出,若相邻的两帧检测图像中的各个人脸之间的匹配关系没有确定,或者确定出的匹配关系的精确度较低,则有可能导致在依次显示多帧图像中的各个人脸所在的人脸框时,同一人脸对应的人脸框会出现跳变、闪动的问题。
第二种场景,如图3所示,可以在电子设备的预览界面的预览框1021内,依次显示图像流包括的多帧图像。以多帧图像包括如图3中的(a)所示的第1帧检测图像,如图3中的(b)所示的第2帧检测图像,以及如图3中的(c)所示的第3帧检测图像为例,第1帧检测图像、第2帧检测图像和第3帧检测图像均包括预览框1021内显示的11个人物,其中五个人物分布在前排,另外六个人物分布在后排。
由于电子设备在输出并显示人脸框时,会设置可以显示的人脸框的最大数量,如可以显示的人脸框的最大数量为10个。因此,在检测得到的人脸框的数量大于10个的情况下,若没有确定相邻的两帧检测图像中的各个人脸之间的匹配关系,则电子设备会按照每一帧检测图像检测得到的各个人脸所在的人脸框的尺寸,以从大到小的顺序按序输出10个人脸所在的人脸框的坐标信息,并根据输出的这10个人脸所在的人脸框的坐标信息来显示10个人脸框。人脸框的尺寸与人脸框内的人脸大小呈正相关,当人脸越大时,人脸框的尺寸也就越大,当人脸越小时,人脸框的尺寸也就越小。
下面以这11个人物对应的人脸框的尺寸中,后排最左侧的人物对应的人脸框的尺寸与后排最右侧的人物对应的人脸框的尺寸之间的差距很小,其余人物对应的人脸框的尺寸均大于后排最左侧的人物对应的人脸框的尺寸以及后排最右侧的人物对应的人脸框的尺寸为例,说明该场景下人脸框出现跳变、闪动的问题。
如图3中的(a)所示,电子设备可以对第1帧检测图像进行人脸检测,得到11个人物对应的人脸框的坐标位置。由于检测误差等因素,有可能出现后排最左侧的人物对应的人脸框的尺寸大于后排最右侧的人物对应的人脸框的尺寸,则电子设备会输出除后排最右侧的人物以外的其他10个人物对应的人脸框的坐标位置,并根据输出的这10个人物对应的人脸框的坐标信息来显示10个人脸框。这样,在图3中的(a)所示的第1帧检测图像中,后排最右侧的人物的人脸所在位置并没有显示人脸框,而其他10个人物的人脸所在位置显示有人脸框。
如图3中的(b)所示,电子设备可以对第2帧检测图像进行人脸检测,得到11个人物对应的人脸框的坐标位置。由于检测误差等因素,有可能出现后排最右侧的人物对应的人脸框的尺寸大于后排最左侧的人物对应的人脸框的尺寸,则电子设备会输出除后排最左侧的人物以外的其他10个人物对应的人脸框的坐标信息,并根据输出的这10个人物对应的人脸框的坐标信息来显示10个人脸框。这样,在图3中的(b)所示的第2帧检测图像中,后排最左侧的人物的人脸所在位置并没有显示人脸框,而其他10个人物的人脸所在位置显示有人脸框。
如图3中的(c)所示,电子设备可以对第3帧检测图像进行人脸检测,得到11个人物对应的人脸框的坐标位置。由于检测误差等因素,有可能出现后排最左侧的人物对应的人脸框的尺寸大于后排最右侧的人物对应的人脸框的尺寸,则电子设备会输出除后排最右侧的人物以外的其他10个人物对应的人脸框的坐标信息,并根据输出的这10个人物对应的人脸框的坐标信息来显示10个人脸框。这样,在图3中的(c)所示的第3帧检测图像中,后排最右侧的人物的人脸所在位置并没有显示人脸框,而其他10个人物的人脸所在位置显示有人脸框。
因此,结合图3中的(a)、图3中的(b)以及图3中的(c)所示的界面,可以看出,若相邻的两帧检测图像中的各个人脸之间的匹配关系没有确定,仅按照每一帧检测图像检测得到的各个人脸所在的人脸框的尺寸,以从大到小的顺序按序输出多个人脸所在的人脸框的坐标信息,则有可能导致在依次显示多帧图像中的各个人脸所在的人脸框时,显示的各个人脸框会出现跳变、闪动的问题。
第三种场景,如图4所示,可以在电子设备的预览界面的预览框1021内,依次显示图像流包括的多帧图像。以多帧图像包括如图4中的(a)所示的第1帧检测图像,如图4中的(b)所示的第2帧检测图像,以及如图4中的(c)所示的第3帧检测图像为例,第1帧检测图像、第2帧检测图像和第3帧检测图像均包括预览框1021内显示的一个人物和一条狗。
如图4中的(a)所示,电子设备可以对第1帧检测图像进行人脸检测,得到一个人物的人脸所在的人脸框的坐标位置,并根据这一个人物的人脸所在的人脸框的坐标位置,在预览框1021内显示该人物对应的第九人脸框401。此时,狗脸所在的位置处没有显示人脸框。
如图4中的(b)所示,电子设备可以对第2帧检测图像进行人脸检测。由于人脸检测可能存在一定概率的误检或漏检等情况,因此,电子设备在对第2帧检测图像进行人脸检测之后,可能将狗的狗脸误认为人脸,则检测得到人物对应的第十人脸框402的坐标位置,以及狗脸所在的第十一人脸框403的坐标位置。若相邻的两帧检测图像中的各个人脸之间的匹配关系没有确定,或者确定出的匹配关系的精确度较低,则电子设备可能会在预览框1021内显示人物对应的第十人脸框402以及狗脸所在的第十一人脸框403。
如图4中的(c)所示,电子设备可以对第3帧检测图像进行人脸检测,得到一个人物的人脸所在的人脸框的坐标位置,并根据这一个人物的人脸所在的人脸框的坐标位置,在预览框1021内显示该人物对应的第十二人脸框404。此时,狗脸所在的位置处没有显示人脸框。
因此,结合图4中的(a)、图4中的(b)以及图4中的(c)所示的界面,可以看出,若相邻的两帧检测图像中的各个人脸之间的匹配关系没有确定,或者确定出的匹配关系的精确度较低,则有可能导致在依次显示多帧图像中的各个人脸所在的人脸框时,显示的各个人脸框会出现跳变、闪动的问题。
基于此,本申请实施例提供了一种对象检测方法、电子设备、存储介质及程序产品,通过获取第一图像流,第一图像流包括第一图像和第二图像,第一图像为第二图像之前的图像帧,第一图像包括至少一个第一对象,第二图像包括至少一个第二对象;分别提取每个第一对象的特征数据以及每个第二对象的特征数据;根据每个第一对象的特征数据和每个第二对象的特征数据,确定第一对象与第二对象之间的匹配关系,匹配关系用于表示第一对象与第二对象是否为同一对象;根据匹配关系,显示第二对象对应的目标对象框。
这样,本申请实施例可以根据第一图像中的每个第一对象的特征数据,以及第二图像中的每个第二对象的特征数据,来确定第一对象与第二对象之间的匹配关系,确定出的匹配关系的精确度较高,使得电子设备在根据第一对象与第二对象之间的匹配关系,来依次显示第一图像流包括的多帧图像中的对象所在的对象框时,可以提高对象框显示的稳定性,从而改善对象框出现的跳变、闪动等问题。
在一些实施例中,第一对象和第二对象包括人脸,则目标对象框可以为目标人脸框,对象检测模型可以为人脸检测模型,电子设备可以采用人脸检测模型来检测人脸所在的人脸框的坐标信息。
当然,在另一些实施例中,第一对象和第二对象也可以是其他对象,如人体、手势等。若第一对象和第二对象包括人体,则目标对象框可以为目标人体框,对象检测模型可以为人体检测模型,电子设备可以采用人体检测模型来检测人体所在的人体框的坐标信息。若第一对象和第二对象包括手势,则目标对象框可以为目标手势框,对象检测模型可以为手势检测模型,电子设备可以采用手势检测模型来检测手势所在的手势框的坐标信息。
本申请实施例提供的对象检测方法,可以应用在具备摄像头的电子设备中。电子设备包括终端设备,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。电子设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)电子设备、增强现实(augmented reality,AR)电子设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对电子设备所采用的具体技术和具体设备形态不做限定。
为了能够更好地理解本申请实施例,下面对本申请实施例的电子设备的结构进行介绍。
图5示出了电子设备500的结构示意图。电子设备500可以包括处理器510,外部存储器接口520,内部存储器521,通用串行总线(universal serial bus,USB)接口530,充电管理模块540,电源管理模块541,电池542,天线1,天线2,移动通信模块550,无线通信模块560,音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,传感器模块580,按键590,马达591,指示器592,摄像头593,显示屏594,以及用户标识模块(subscriberidentification module,SIM)卡接口595等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备500的具体限定。在本申请另一些实施例中,电子设备500可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器510中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器510中的存储器为高速缓冲存储器。该存储器可以保存处理器510刚用过或循环使用的指令或数据。如果处理器510需要再次使用该指令或数据,可从存储器中调用。避免了重复存取,减少了处理器510的等待时间,因而提高了系统的效率。
充电管理模块540用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块540可以通过USB接口530接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块540可以通过电子设备500的无线充电线圈接收无线充电输入。充电管理模块540为电池542充电的同时,还可以通过电源管理模块541为电子设备供电。
电源管理模块541用于连接电池542,充电管理模块540与处理器510。电源管理模块541接收电池542和/或充电管理模块540的输入,为处理器510,内部存储器521,显示屏594,摄像头593,和无线通信模块560等供电。在其他一些实施例中,电源管理模块541也可以设置于处理器510中。在另一些实施例中,电源管理模块541和充电管理模块540也可以设置于同一个器件中。
电子设备500的无线通信功能可以通过天线1,天线2,移动通信模块550,无线通信模块560,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。移动通信模块550可以提供应用在电子设备500上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块550可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。在一些实施例中,移动通信模块550的至少部分功能模块可以被设置于处理器510中。
无线通信模块560可以提供应用在电子设备500上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备500的天线1和移动通信模块550耦合,天线2和无线通信模块560耦合,使得电子设备500可以通过无线通信技术与网络以及其他设备通信。
电子设备500通过GPU,显示屏594,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏594和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器510可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏594用于显示图像、显示视频和接收滑动操作等。显示屏594包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organiclight-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diod,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlightemitting diodes,QLED)等。在一些实施例中,电子设备500可以包括1个或多个显示屏594。
电子设备500可以通过ISP,摄像头593,视频编解码器,GPU,显示屏594以及应用处理器等实现拍摄功能。
ISP用于处理摄像头593反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头593中。
摄像头593用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备500可以包括1个或多个摄像头593。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备500在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备500可以支持一种或多种视频编解码器。这样,电子设备500可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备500的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口520可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备500的存储能力。外部存储卡通过外部存储器接口520与处理器510通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器521可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器521可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备500使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器521可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器510通过运行存储在内部存储器521的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备500的各种功能应用以及数据处理。
电子设备500可以通过音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
按键590包括开机键,音量键等。电子设备500可以接收按键输入,产生与电子设备500的用户设置以及功能控制有关的键信号输入。马达591可以产生振动提示。马达591可以用于来电振动提示,也可以用于触摸振动反馈。指示器592可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口595用于连接SIM卡。
电子设备500的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等。本申请实施例以分层架构的Android系统为例,示例性说明电子设备500的软件结构。
图6是本申请实施例的电子设备500的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用层,应用程序框架层,安卓运行时(Androidruntime)和系统库,硬件抽象层以及内核层。
应用层可以包括一系列应用程序包。如图6所示,应用程序包可以包括相机、设置以及日历等应用程序。
其中,相机应用为具有拍摄和录像功能的应用,电子设备可以响应于用户打开相机应用的操作,以进行拍照或录像。可以理解的是,相机应用的拍照和录像功能也可以被其他应用调用。
应用程序框架层为应用层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
其中,如图6所示,应用程序框架层可以包括相机服务(camera service)、窗口管理器、内容提供器、资源管理器和视图系统等。
相机服务可以供相机应用调用,从而实现拍照或录像等功能。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用层和应用程序框架层运行在虚拟机中。虚拟机将应用层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG2,H.262,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染、合成和图层处理等。二维图形引擎是2D绘图的绘图引擎。
硬件抽象层是介于内核层和Android runtime之间的抽象出来的一层结构。硬件抽象层可以是对内核层的硬件驱动的一个封装,为应用程序框架层提供调用接口。
在本申请实施例中,硬件抽象层可以包括相机硬件抽象模块(camera hardwareabstraction layer,camera HAL)。在一种可能的实现方式中,相机硬件抽象模块用于对摄像头采集的第二图像流包括的多帧图像进行处理,以确定第一图像流包括的第一图像中的第一对象,与第一图像流包括的第二图像中的第二对象之间的匹配关系,该匹配关系用于表示第一对象与第二对象是否为同一对象。
内核层是硬件和软件之间的层。内核层至少包含相机驱动、传感器驱动和显示驱动等。在一些实施例中,相机驱动用于控制摄像头运行,传感器驱动用于控制传感器模块运行,显示驱动用于控制显示屏显示图像。
硬件可以是摄像头、传感器模块以及显示屏等。在本申请实施例中,摄像头可以是后置摄像头,也可以是前置摄像头。
在一些实施例中,电子设备在执行本申请实施例的对象检测方法的过程中,相机硬件抽象模块需要获取第一图像的第一图像参数,以在第一图像参数不满足第一预设条件的情况下,对第一图像进行尺寸调整,以及在第一图像参数满足第一预设条件的情况下,对第一图像进行矫正,并对矫正后的第一图像进行尺寸调整。相应的,相机硬件抽象模块需要获取第二图像的第二图像参数,以在第二图像参数不满足第二预设条件的情况下,对第二图像进行尺寸调整,以及在第二图像参数满足第二预设条件的情况下,对第二图像进行矫正,并对矫正后的第二图像进行尺寸调整。
应理解,摄像头在采集到第二图像流之后,可以通过相机驱动向相机硬件抽象模块发送第二图像流,第二图像流中的每一帧图像可以携带其对应的图像参数。这样,相机硬件抽象模块在对第二图像流包括的图像进行降采样处理,得到第一图像流之后,使得相机硬件抽象模块获取到第一图像流中的第一图像的第一图像参数,以及第一图像流中的第二图像的第二图像参数。
在一些实施例中,电子设备在执行本申请实施例的对象检测方法的过程中,相机硬件抽象模块还需要获取第一图像的第一场景信息和第二图像的第二场景信息,第一场景信息包括HDR场景或非HDR场景,第二场景信息也包括HDR场景或非HDR场景。
一种可能的实现,可以在硬件抽象层中设置感知模块,基于感知模块确定第一图像的第一场景信息是HDR场景还是非HDR场景,以及基于感知模块确定第二图像的第二场景信息是HDR场景还是非HDR场景。
其中,当感知模块确定第一图像的第一场景信息为HDR场景时,感知模块确定第一图像的HDR标志位为true,感知模块将包含有HDR标志位为true的数据发送给相机硬件抽象模块。当感知模块确定第一图像的第一场景信息为非HDR场景时,感知模块确定第一图像的HDR标志位为false,感知模块将包含有HDR标志位为false的数据发送给相机硬件抽象模块。
相应的,当感知模块确定第二图像的第二场景信息为HDR场景时,感知模块确定第二图像的HDR标志位为true,感知模块将包含有HDR标志位为true的数据发送给相机硬件抽象模块。当感知模块确定第二图像的第二场景信息为非HDR场景时,感知模块确定第二图像的HDR标志位为false,感知模块将包含有HDR标志位为false的数据发送给相机硬件抽象模块。
需要说明的是,本申请实施例虽然以Android系统进行说明,但是对象检测方法的原理同样适用于iOS或windows等操作系统的电子设备。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
需要说明的是,本申请实施例提供的对象检测方法可以对摄像头采集的图像流进行实时处理,且本申请实施例可以是在相机应用的预览场景下执行的,其可以是拍照时的预览场景,也可以是录像时的预览场景。
示例性的,图7本申请实施例提供的一种从图像中检测出对象所在的对象框的流程示意图,其可以应用于电子设备中,具体可以包括如下步骤:
S701,电子设备获取第二图像流。
在一些实施例中,第二图像流也就是摄像头实时采集的原始图像流,第二图像流包括连续的多帧图像。
S702,电子设备对第二图像流包括的图像进行降采样处理,得到第一图像流;第一图像流包括第一图像和第二图像,第一图像为第二图像之前的图像帧。
在一些实施例中,电子设备可以对第二图像流包括的各帧图像分别进行降采样处理,以得到第一图像流包括的各帧图像,使得第一图像流包括的图像的尺寸小于第二图像流包括的图像的尺寸。
第一图像流也可以称为tiny流,其指的是包括的图像尺寸较小,且保留图像处理过程中所必要的有效信息的图像流。
因此,通过对第二图像流包括的图像进行降采样处理,以得到第一图像,使得后续在对第一图像流中的图像进行处理时,第一图像流中的图像的整体计算负担要小于第二图像流中的图像的整体计算负担。这样,可以有效减少对第一图像流中的图像进行处理时的计算负担,从而降低图像处理所需的时长和功耗。
例如,第二图像流包括的图像的尺寸可以为1920像素*1080像素,第一图像流包括的图像的尺寸可以为640像素*360像素。
其中,第一图像流包括第一图像和第二图像,第一图像为第二图像之前的图像帧,第一图像包括至少一个第一对象,第二图像包括至少一个第二对象。
可以理解的是,本申请实施例中的第二图像流包括多帧图像,第一图像流也包括多帧图像,且第二图像流包括的图像的数量与第一图像流包括的图像的数量相等。本申请实施例主要以第一图像流中的两帧图像为例,来说明对象检测方法的具体实现过程,第一图像流中的两帧图像分别为第一图像和第二图像。
值得注意的是,下面的S703至S710主要以第一图像流中的第二图像为例,详细说明电子设备检测第二图像中的第二对象所在的第二对象框的坐标信息的具体实现方式。
S703,电子设备将第二图像的图像格式转换为RGB格式。
在一些实施例中,电子设备中的摄像头采集的第二图像流包括的图像的图像格式可以为RAW格式,相应的,降采样处理后得到的第一图像流包括的图像的图像格式也可以为RAW格式,则第一图像流中的第二图像的图像格式也就是RAW格式。
电子设备可以对第二图像的图像格式进行转换,以将第二图像的图像格式从RAW格式转换为RGB格式。其中,RGB格式的图像可以是三原色(即红色、蓝色和绿色)叠加形成的图像。
电子设备将第二图像的图像格式从RAW格式转换为RGB格式的具体原理可以参照相关技术,本申请实施例对此不进行限定。
S704,电子设备获取第二图像的第二图像参数;第二图像参数包括第二亮度值和/或第二曝光值。
S705,电子设备判断第二图像的第二图像参数是否满足第二预设条件。
用户可以在不同的光照条件下使用电子设备中的摄像头进行图像采集,摄像头可以在正常光线场景下采集图像,也可以在暗光或逆光场景下采集图像。以摄像头采集到的图像为人脸图像为例,在暗光或逆光场景下采集到的人脸图像,会出现人脸偏暗以及不清晰的问题。
因此,为了提高暗光或逆光场景下采集到的图像的亮度和清晰度,本申请实施例的电子设备可以先获取第二图像的第二图像参数,然后,判断第二图像的第二图像参数是否满足第二预设条件,来确定出第二图像是正常光线场景下采集图像,还是暗光或逆光场景下采集到的图像,进而再确定是否需要对第二图像进行矫正。
其中,图像的亮度(lighting value,LV)值用于评估图像采集时的环境亮度。图像的曝光值指的是曝光时间和光圈值组合起来表示摄像头的镜头通光能力的一个数值。
曝光时间是指为了将光投射到摄像头的感光材料的感光面上,快门所要打开的时间,曝光时间由感光材料的感光度和感光面上的照度确定,曝光时间越长,进入摄像头的光越多,曝光时间越短,进入摄像头的光越少。光圈值是指摄像头中的镜头的焦距与镜头通光直径的比值,光圈值越大,进入摄像头的光线越多,光圈值越小,进入摄像头的光线越少。
一种实现方式,在第二图像参数包括第二亮度值的情况下,当第二亮度值大于或等于第二亮度阈值时,第二图像参数不满足第二预设条件。在第二图像参数包括第二亮度值的情况下,当第二亮度值小于第二亮度阈值时,第二图像参数满足第二预设条件。
这种情况下,当第二亮度值大于或等于第二亮度阈值时,说明第二图像的亮度比较高,则第二图像可能是正常光线场景下采集到的图像,第二图像参数不满足第二预设条件,因此,可以不需要对第二图像进行矫正。当第二亮度值小于第二亮度阈值时,说明第二图像的亮度偏暗,则第二图像可能是暗光或逆光场景下采集到的图像,第二图像参数满足第二预设条件,因此,需要对第二图像进行矫正。
另一种实现方式,在第二图像参数包括第二曝光值的情况下,当第二曝光值大于或等于第二曝光阈值时,第二图像参数不满足第二预设条件。在第二图像参数包括第二曝光值的情况下,当第二曝光值小于第二曝光阈值时,第二图像参数满足第二预设条件。
这种情况下,当第二曝光值大于或等于第二曝光阈值时,说明第二图像的亮度比较高,则第二图像可能是正常光线场景下采集到的图像,第二图像参数不满足第二预设条件,因此,可以不需要对第二图像进行矫正。当第二曝光值小于第二曝光阈值时,说明第二图像的亮度偏暗,则第二图像可能是暗光或逆光场景下采集到的图像,第二图像参数满足第二预设条件,因此,需要对第二图像进行矫正。
综上,在第二图像参数满足第二预设条件的情况下,电子设备依次执行下面的S706和S707,在第二图像参数不满足第二预设条件的情况下,电子设备直接执行下面的S707。
S706,在第二图像参数满足第二预设条件的情况下,电子设备对第二图像进行矫正。
在第二图像参数满足第二预设条件的情况下,电子设备可以对第二图像进行矫正,以提高暗光或逆光场景下采集的图像的亮度和清晰度,
由于图像的采集场景包含大量的暗光或逆光等场景,而在训练对象检测模型时的训练集难以覆盖暗光或逆光等特殊场景,一味地增加困难数据来提高对象检测模型对暗光或逆光等特殊场景下的对象检测,会导致对象检测模型对正常光线场景下的对象检测效果减弱,如易出现误检等问题。
因此,本申请实施例通过判断图像的亮度值和/或曝光值,来确定图像是否为暗光或逆光场景下采集到的图像,从而在暗光或逆光场景这些特定场景下触发对图像的矫正操作;并且在对图像进行矫正操作后才采用对象检测模型对矫正后的图像进行检测。这样,对象检测模型不需要学习大量的暗光或逆光等特殊场景下的数据,且可以提高对象检测模型的检测效果,优化了对象检测模型针对暗光或逆光等场景下采集到的图像的检出率。
在一些实施例中,第二图像的场景可以是HDR场景也可以是非HDR场景。相比于非HDR场景,在第二图像的场景为HDR场景的情况下,第二图像能够提供更多的动态范围和图像细节。
因此,电子设备可以先获取第二图像的第二场景信息,第二场景信息包括HDR场景或非HDR场景;在第二场景信息为HDR场景的情况下,电子设备对第二图像进行第一矫正处理,得到矫正后的第二图像;在第二场景信息为非HDR场景的情况下,电子设备对第二图像进行第二矫正处理,得到矫正后的第二图像。也就是说,第二图像的场景为HDR场景下的矫正方式,与第二图像的场景为非HDR场景下的矫正方式不同。
在第二图像的第二场景信息为HDR场景的情况下,电子设备对第二图像进行第一矫正处理的一种可能的实现方式为:电子设备对第二图像进行直方图均衡化处理,得到矫正后的第二图像。
其中,直方图均衡化处理具体可以根据像素平均值,利用直方图均衡化映射到新的像素强度上,从而进行图像合成。直方图均衡化处理是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候,通过这种方法,亮度可以更好地在直方图上分布,这样就可以用于增强局部的对比度而不影响整体的对比度。
具体的,直方图均衡化处理是基于一个随机变量的概率密度函数的变换。假设直方图均衡化处理前的图像的灰度值变量为r,直方图均衡化处理后的图像的灰度值变量为s,令Pr(r)表示灰度值变量r的概率密度函数,令Ps(s)表示灰度值变量s的概率密度函数。直方图均衡化处理前的图像的灰度值在区间[r,dr]上的像素个数为Pr(r)dr,直方图均衡化处理后的图像的灰度值在区间[s,ds]上的像素个数为Ps(s)ds,则Ps(s)ds=Pr(r)dr。两边积分并进行均衡化得到对上述公式进行离散化得到/>其中,k表示离散的灰度级,nj表示灰度级为j的像素个数,N表示图像中的像素总数,Sk表示直方图均衡化处理后的第k个灰度级。
在第二图像的第二场景信息为HDR场景的情况下,电子设备对第二图像进行第一矫正处理的另一种可能的实现方式为:电子设备从第二灰度值对照表中,查找第二图像中的每个像素在各个颜色通道的第七灰度值对应的第八灰度值;电子设备将第二图像中的每个像素在各个颜色通道的第七灰度值,替换为对应的第八灰度值,得到矫正后的第二图像。其中,第八灰度值与第七灰度值之间符合类伽马函数关系。
其中,第二灰度值对照表包括多个输入灰度值以及每个输入灰度值对应的输出灰度值,且输出灰度值与输入灰度值的对应关系符合类伽马函数关系。针对第二图像,可以从第二灰度值对照表中查找到与第七灰度值相等的输入灰度值,并将该输入灰度值对应的输出灰度值作为第八灰度值。
示例性的,第二灰度值对照表可以参照如下的类gamma(伽马)函数关系计算得到:
其中,x表示矫正前的图像在各个颜色通道中的每个像素点的灰度值,f(x)表示矫正后的图像在各个颜色通道中的每个像素点的灰度值,int表示对结果进行取整操作,bias_x0表示灰度值区间[0,α]对应的分段函数的第一偏移值,bias_y0表示灰度值区间[0,α]对应的分段函数的第二偏移值,bias_y1表示灰度值区间(α,β]对应的分段函数的第三偏移值,bias_x2表示灰度值区间(β,255]对应的分段函数的第四偏移值,bias_y2表示灰度值区间(β,255]对应的分段函数的第五偏移值,且第一偏移值bias_x0、第二偏移值bias_y0、第三偏移值bias_y1、第四偏移值bias_x2和第五偏移值bias_y2均为整数。α表示第一预设灰度值,α为大于0的整数;β表示第二预设灰度值,且β为大于α,且小于255的整数。
在一些可能的实现方式中,由于上述的类伽马函数关系是在不同的灰度值区间内,采用不同的分段函数对图像的灰度值进行矫正,若未在不同的分段函数中加入上述的偏移值,则有可能导致灰度值区间[0,α]对应的分段函数曲线与灰度值区间(α,β]对应的分段函数曲线不连续,且有可能导致灰度值区间(α,β]对应的分段函数曲线与灰度值区间(β,255]对应的分段函数曲线也不连续。
因此,在上述的灰度值区间[0,α]对应的分段函数中加入第一偏移值bias_x0和第二偏移值bias_y0,在上述的灰度值区间(α,β]对应的分段函数中加入第三偏移值bias_y1,以及在上述的灰度值区间(β,255]对应的分段函数中加入第四偏移值bias_x2和第五偏移值bias_y2。这样,可以使得灰度值区间[0,α]对应的分段函数曲线与灰度值区间(α,β]对应的分段函数曲线连续,且使得灰度值区间(α,β]对应的分段函数曲线与灰度值区间(β,255]对应的分段函数曲线连续。
例如,α可以为215,第一偏移值bias_x0可以为0,在灰度值x不等于0时的第二偏移值bias_y0可以为-20,在灰度值x等于0时的第二偏移值bias_y0可以为0,第三偏移值bias_y1可以为0。这样,在第二灰度值对照表中,当输入灰度值为0时,其对应的输出灰度值为0;当输入灰度值为1时,其对应的输出灰度值为0;当输入灰度值为2时,其对应的输出灰度值为8;当输入灰度值为215时,其对应的输出灰度值为215。因此,可以使得灰度值区间[0,α]对应的分段函数曲线与灰度值区间(α,β]对应的分段函数曲线连续。
可以理解的是,在α不为215的情况下,上述灰度值区间[0,α]对应的分段函数中加入的第二偏移值bias_y0也可以为除-20以外的其他整数值。
上述给出了一种类伽马函数关系来作为不同灰度值区间对应的分段函数,以生成第二灰度值对照表的实现方式。当然,也可以在不同灰度值区间内,采用除类伽马函数关系包括的各个分段函数以外的其他分段函数来生成第二灰度值对照表,但是需要使得灰度值区间[0,α]对应的分段函数的斜率,以及灰度值区间(β,255]对应的分段函数的斜率,均小于灰度值区间(α,β]对应的分段函数的斜率,以使得后续在采用第二灰度值对照表对图像进行矫正时,矫正后的图像的灰度值的分布更加均匀。
因此,在图像的场景为HDR场景的情况下,图像中存在特别亮和特别暗的区域,因此,采用类伽马函数关系生成第二灰度值对照表,使得在采用第二灰度值对照表对图像进行矫正之后,可以将图像中的亮区压暗,将图像中的暗区提亮。并且,相对于采用上述的类伽马函数关系进行实时计算以对图像进行矫正的方式,本申请实施例基于对第二灰度值对照表进行查表的方式来对图像进行矫正,可以提高图像的矫正速度。其中,第二灰度值对照表可以预先存储在电子设备中,第二灰度值对照表可以是hash(哈希)表。
在第二图像的第二场景信息为非HDR场景的情况下,电子设备对第二图像进行第二矫正处理的一种可能的实现方式为:电子设备从第一灰度值对照表中,查找第二图像中的每个像素在各个颜色通道的第三灰度值对应的第四灰度值;电子设备将第二图像中的每个像素在各个颜色通道的第三灰度值,替换为对应的第四灰度值,得到矫正后的第二图像。其中,第四灰度值与第三灰度值之间符合伽马函数关系。
其中,第一灰度值对照表包括多个输入灰度值以及每个输入灰度值对应的输出灰度值,且输出灰度值与输入灰度值的对应关系符合伽马函数关系。针对第一图像,可以从第一灰度值对照表中查找到与第三灰度值相等的输入灰度值,并将该输入灰度值对应的输出灰度值作为第四灰度值。
示例性的,第一灰度值对照表可以参照如下的伽马函数关系计算得到:
f(x)=int[255×(x/255)1/2.2]
其中,x表示矫正前的图像在各个颜色通道中的每个像素点的灰度值,其位于灰度值区间[0,255]内,f(x)表示矫正后的图像在各个颜色通道中的每个像素点的灰度值,int表示对结果进行取整操作。此时,伽马函数关系中的伽马值可以为1/2.2。
因此,在图像的场景为非HDR场景的情况下,采用伽马函数关系生成第一灰度值对照表,使得在采用第一灰度值对照表对图像进行矫正之后,可以对图像进行提亮。并且,相对于采用上述的伽马函数关系进行实时计算以对图像进行矫正的方式,本申请实施例基于对第一灰度值对照表进行查表的方式来对图像进行矫正,可以提高图像的矫正速度。其中,第一灰度值对照表可以预先存储在电子设备中,第一灰度值对照表可以是hash表。
如图8所示,第一灰度值对照表可以包括多个输入灰度值以及每个输入灰度值对应的输出灰度值。多个输入灰度值的数值区间可以为[0,255],每个输入灰度值对应的输出灰度值实际上包括每个输入灰度值所在的颜色通道对应的输出灰度值,如输入灰度值在红色通道(即R通道)对应的输出灰度值,输入灰度值在绿色通道(即G通道)对应的输出灰度值,以及输入灰度值在蓝色通道(即B通道)对应的输出灰度值。
例如,当在红色通道的输入灰度值为0时,其在红色通道对应的输出灰度值为Gray10;当在绿色通道的输入灰度值为0时,其在绿色通道对应的输出灰度值为Gray20;当在蓝色通道的输入灰度值为0时,其在蓝色通道对应的输出灰度值为Gray30。当在红色通道的输入灰度值为1时,其在红色通道对应的输出灰度值为Gray11;当在绿色通道的输入灰度值为1时,其在绿色通道对应的输出灰度值为Gray21;当在蓝色通道的输入灰度值为1时,其在蓝色通道对应的输出灰度值为Gray31。以此类推,当在红色通道的输入灰度值为255时,其在红色通道对应的输出灰度值为Gray1y;当在绿色通道的输入灰度值为255时,其在绿色通道对应的输出灰度值为Gray2y;当在蓝色通道的输入灰度值为255时,其在蓝色通道对应的输出灰度值为Gray3y。
这样,将伽马函数关系直接映射为256维数值,通过第一灰度值对照表直接查表的方式对图像进行矫正。
S707,电子设备对第二图像进行尺寸调整,得到第五图像。
在第二图像参数满足第二预设条件的情况下,电子设备在对第二图像进行矫正之后,电子设备可以对矫正后的第二图像进行尺寸调整,得到第五图像。也就是说,在执行上述的S706之后,S707是对矫正后的第二图像进行尺寸调整。
在第二图像参数不满足第二预设条件的情况下,电子设备无需对第二图像进行矫正处理,而是直接对第二图像进行尺寸调整,得到第五图像。也就是说,在执行完成上述的S705之后,当确定出第二图像参数不满足第二预设条件时,电子设备直接执行S707,以直接对第二图像进行尺寸调整。
在一些实施例中,电子设备对第二图像进行尺寸调整的具体实现方式可以为:电子设备对第二图像的边缘进行像素填充,得到第五图像;第五图像的尺寸比例为预设比例。
具体的,第二图像的边缘填充的像素的像素值可以均为0,也可以是第二图像中的所有像素的像素平均值,本申请实施例对此不进行限定。
并且,在第二图像的边缘进行像素填充时,可以根据需求在第二图像的宽度方向上或者高度方向上进行像素填充。当在第二图像的宽度方向上进行像素填充时,实际上可以是在第二图像的左侧边缘和/或右侧边缘进行像素填充;当在第二图像的高度方向上进行像素填充时,实际上可以是在第二图像的上侧边缘和/或下侧边缘进行像素填充。
示例性的,第二图像的尺寸可以包括480像素*480像素、640像素*480像素以及640像素*360像素等尺寸。而作为对象检测模型的输入图像的尺寸比例较为固定,作为对象检测模型的输入图像的尺寸比例可以为预设比例,该预设比例可以3:4等尺寸比例。其中,该预设比例指的是图像在竖屏显示状态下,图像在宽度方向与高度方向之间的尺寸比例,也可以指的是图像在横屏显示状态下,图像在高度方向与宽度方向之间的尺寸比例。
以图像在竖屏显示状态下,且预设比例为3:4为例。当第二图像的尺寸为480像素*480像素时,其表示第二图像在高度方向上的像素数量为480个,且第二图像在宽度方向上的像素数量也为480个,电子设备可以在第二图像的上侧边缘和/或下侧边缘进行像素填充,填充的像素的总行数可以为160行,使得像素填充后得到的第五图像的尺寸可以为640像素*480像素,即第五图像在高度方向上的像素数量为640个,且第五图像在宽度方向上的像素数量为480个,这种情况下,第五图像在宽度方向与高度方向之间的尺寸比例为3:4。
以图像在竖屏显示状态下,且预设比例为3:4为例。当第二图像的尺寸为640像素*360像素时,其表示第二图像在高度方向上的像素数量为640个,且第二图像在宽度方向上的像素数量为360个,电子设备可以在第二图像的左侧边缘和/或右侧边缘进行像素填充,填充的像素的总列数可以为120列,使得像素填充后得到的第五图像的尺寸可以为640像素*480像素。这种情况下,第五图像在宽度方向与高度方向之间的尺寸比例为3:4。
可以理解的是,该预设比例包括但不限于上述的3:4。例如,该预设比例还可以为1:1等尺寸比例。
综上,本申请实施例通过对第二图像的边缘进行像素填充得到第五图像,即采用padding(填充)操作来对第二图像的高度和宽度进行调整来得到第五图像,而不是采用resize操作(即缩放操作)对第二图像的高度和宽度进行调整来得到第五图像。
若采用resize操作对图像的高度和宽度进行调整,则图像中的对象可能会发生变形,使得后续的对象检测模型对图像中的对象的检出率降低;并且,采用resize操作对图像的高度和宽度进行调整时,resize操作较为耗时。因此,本申请实施例采用padding操作来对图像的高度和宽度进行调整,避免resize操作造成的对象变形的风险,使得对象检测模型无需识别拉长或压扁的对象,从而优化对象检测模型对图像中的对象的检出率和准召率等;并且,本申请实施例采用padding操作来对图像的高度和宽度进行调整,padding操作耗费的时长较短,因此,可提高对象检测的速度。
S708,电子设备对第五图像进行归一化处理。
在一些实施例中,电子设备在对第二图像进行尺寸调整得到第五图像之后,电子设备可以对第五图像进行归一化处理。
一种可能的实现方式,电子设备可以将图像中的每个像素的像素值减去像素平均值,然后除以像素值方差后的结果,作为归一化处理后的图像中的每个像素的像素值,以实现对第五图像进行归一化处理。其中,像素平均值指的是图像中的所有的像素的像素值的平均值,像素值方差指的是图像中的所有的像素的像素值的方差。
这样,可以使得归一化处理后的图像中的像素值被限定在0到1的范围之间,从而利用归一化处理后图像的一致性,给后续的操作提供相同的基准,以提高后续的对象检测模型的检测精度。
在另一些实施例中,电子设备也可以是在尺寸调整前对第二图像进行归一化处理。具体的,在第二图像参数满足第二预设条件的情况下,电子设备在对第二图像进行矫正之后,电子设备可以先对矫正后的第二图像进行归一化处理,接着对归一化处理后的第二图像进行尺寸调整,得到第五图像;在第二图像参数不满足第二预设条件的情况下,电子设备先对第二图像进行归一化处理,接着对归一化处理后的第二图像进行尺寸调整,得到第五图像。
当然,电子设备还可以同时进行尺寸调整和归一化处理。具体的,在第二图像参数满足第二预设条件的情况下,电子设备在对第二图像进行矫正之后,电子设备可以同时对矫正后的第二图像进行尺寸调整和归一化处理,来得到第五图像;在第二图像参数不满足第二预设条件的情况下,电子设备可以同时对第二图像进行尺寸调整和归一化处理,来得到第五图像。
综上,本申请实施例中的电子设备可以是先执行S707再执行S708,也可以是先执行S708再执行S707,还可以同时执行S707和S708,本申请实施例对S707和S708的执行顺序不进行限定。
因此,按照上述的S704至S708,使得电子设备对第二图像进行预处理,得到第五图像。
S709,电子设备采用对象检测模型对第五图像进行检测,得到多个第二候选框的坐标信息和置信度。
以电子设备先对第二图像进行尺寸调整来得到第五图像,再对第五图像进行归一化处理为例,电子设备可以将归一化处理后的第五图像输入到对象检测模型中,使得对象检测模型对第五图像进行检测,以得到多个第二候选框的坐标信息和置信度。
其中,该第二候选框内可能包含位于第二图像中的第二对象,则第二候选框的坐标信息用于表示检测出的第二对象所在的位置。第二候选框的置信度用于表示检测出的对象属于某一类别的可信程度。
在一些实施例中,对象检测模型可以为RetinaNet模型或RetinaFace模型。示例性的,当图像中的对象为人脸时,该对象检测模型实际上可以为人脸检测模型。
示例性的,图9为本申请实施例提供的对象检测模型的结构示意图。以对象检测模型为RetinaFace模型为例,对象检测模型可以包括依次级联的主干特征提取网络、特征金字塔(feature pyramid net,FPN)网络、单阶段检测器(single stage headless,SSH)网络和Head(预测头)网络。
具体的,在采用对象检测模型对输入图像中的对象进行检测时,可以先将输入图像输入到主干特征提取网络,主干特征提取网络可以初步提取输入图像中的对象特征。然后,使用FPN网络和SSH网络进行加强特征提取。具体的,FPN网络可以对主干特征提取网络输出的最后三个第一特征图进行通道数的调整,调整后利用上采样和张量相加进行上采样的特征融合,分别得到三个第二特征图;RetinaFace模型为了进一步加强特征提取,使用SSH网络来加强感受野,SSH网络通过在第二特征图中引入上下文信息来提高对小尺寸对象的检测,以分别得到三个第三特征图。Head网络可以通过SSH网络输出的三个第三特征图来得到预测结果,该预测结果包括输入图像中的多个候选框的坐标信息和置信度。
以输入图像为归一化处理后的第五图像为例,采用RetinaFace模型对归一化处理后的第五图像进行检测,可以得到归一化处理后的第五图像中的多个第二候选框的坐标信息和置信度。
需要说明的是,由于对象检测模型可以包括SSH模块,SSH网络可以提高对小尺寸对象的检测,从而使得对象检测模型可以降低对小尺寸对象的漏检。
应理解,电子设备中设置的对象检测模型可以是由云端服务器训练得到,其还可以根据云端服务器的更新操作进行实时更新。
S710,电子设备根据多个第二候选框的置信度,从多个第二候选框中筛选出至少一个第二对象框,以得到至少一个第二对象框的坐标信息。
在一些实施例中,电子设备根据多个第二候选框的置信度,采用非极大值抑制(non-maximum suppression,NMS)算法对多个第二候选框进行筛选,从多个第二候选框中筛选出至少一个第二对象框,以得到至少一个第二对象框的坐标信息。其中,第二对象框内包含位于第二图像中的第二对象。
非极大值抑制算法主要是抑制不是极大值的元素,其主要目的是为了降低候选框的数量。非极大值抑制算法的具体实现过程如下:确定多个候选框中的置信度最大的目标候选框;确定目标候选框与多个候选框中除目标候选框外的其他候选框之间的重叠度;删除重叠度大于重叠度阈值的候选框,并保留目标候选框;然后循环执行上述步骤,从而筛选得到对象框。
示例性的,假设对象检测模型检测得到有6个候选框的坐标信息和置信度,按照置信度从低到高的顺序,这6个候选框分别为候选框A、候选框B、候选框C、候选框D、候选框E和候选框F。从置信度最大的候选框F开始,判断候选框A、候选框B、候选框C、候选框D和候选框E,分别与候选框F的重叠度(如交并比)。假设候选框B与候选框F的重叠度大于重叠度阈值,且候选框D与候选框F的重叠度大于重叠度阈值,则删除候选框B和候选框D,并保留候选框F作为第一个优选框。接着,从剩下的候选框A、候选框C和候选框E中选择置信度最大的候选框E,然后判断候选框A和候选框C分别与候选框E的重叠度。假设候选框C与候选框E的重叠度大于重叠度阈值,则删除候选框C,并保留候选框E作为第二个优选框。最后只剩下候选框A,则候选框A没有被任何一个候选框抑制,则将候选框A作为第三个优选框。
一种实现方式,可以直接将筛选出的优选框作为对象框。例如,从候选框A、候选框B、候选框C、候选框D、候选框E和候选框F中,筛选出候选框F、候选框E和候选框A作为优选框,则候选框F、候选框E和候选框A也就是筛选出的对象框。
另一种实现方式,在从多个候选框中筛选出优选框后,从优选框中再筛选出置信度大于置信度阈值的优选框作为对象框。例如,置信度阈值可以为0.7,候选框F、候选框E和候选框A作为优选框,若候选框F、候选框E和候选框A中,候选框F和候选框E的置信度大于0.7,而候选框A的置信度小于0.7,则筛选出候选框F和候选框E作为对象框。这样,从多个候选框中筛选出的对象框,其置信度可以大于置信度阈值。
或者,也可以在从多个候选框中筛选出优选框之前,将多个候选框中置信度小于或等于置信度阈值的候选框删除,再从剩余的候选框中筛选出优选框。这种情况,非极大值抑制算法筛选出的优选框也就是对象框。
在一些场景中,以电子设备可以显示的对象框的最大数量是10个为例,采用非极大值抑制算法筛选出的对象框的数量为M个,此时的M可以为大于10的整数。这种情况下,S710输出的第二对象框的数量可以为M个;或者,也可以按照筛选出的对象框的尺寸,以从大到小的顺序再从M个对象框中筛选出排序靠前的10个对象框,使得S710输出的第二对象框的数量等于10个。
在另一些场景中,以电子设备可以显示的对象框的最大数量是10个为例,采用非极大值抑制算法筛选出的对象框的数量为M个,此时的M为可以小于或等于10的整数。这种情况下,S710输出的第二对象框的数量可以为M个。
示例性的,对象框可以为矩形框或圆形框。以对象框为矩形框为例,对象框的坐标信息包括矩形框的左上角顶点的坐标、矩形框的长度和矩形框的宽度;或者,对象框的坐标信息包括矩形框的左上角顶点的坐标和矩形框的右下角顶点的坐标。以对象框为圆形框为例,对象框的坐标信息包括圆形框的圆心坐标和半径长度。
值得注意的是,上述的S703至S710,针对的是第一图像流中的第二图像,检测第二图像中的第二对象所在的第二对象框的坐标信息的具体实现方式。当然,本申请实施例也可以针对第一图像流中的第一图像,检测第一图像中的第一对象所在的第一对象框的坐标信息,其具体实现方式可参照上述S703至S710。
具体的,针对第一图像流中的第一图像,电子设备也可以按照上述S703的具体实现方式,将第一图像的图像格式转换为RGB格式。
并且,针对第一图像流中的第一图像,电子设备也可以按照上述S704和S705的具体实现方式,获取第一图像的第一图像参数,第一图像参数包括第一亮度值和/或第一曝光值;以及判断第一图像的第一图像参数是否满足第一预设条件。
一种实现方式,在第一图像参数包括第一亮度值的情况下,当第一亮度值大于或等于第一亮度阈值时,第一图像参数不满足第一预设条件。在第一图像参数包括第一亮度值的情况下,当第一亮度值小于第一亮度阈值时,第一图像参数满足第一预设条件。第一亮度阈值可以与第二亮度阈值相等,也可以不相等。
另一种实现方式,在第一图像参数包括第一曝光值的情况下,当第一曝光值大于或等于第一曝光阈值时,第一图像参数不满足第一预设条件。在第一图像参数包括第一曝光值的情况下,当第一曝光值小于第一曝光阈值时,第一图像参数满足第一预设条件。第一曝光阈值与第二曝光阈值可以相等,也可以不相等。
针对第一图像流中的第一图像,电子设备也可以按照上述S706的具体实现方式,在第一图像参数满足第一预设条件的情况下,对第一图像进行矫正。
其中,第一图像的场景可以是HDR场景也可以是非HDR场景。因此,电子设备可以先获取第一图像的第一场景信息,第一场景信息包括HDR场景或非HDR场景;在第一场景信息为HDR场景的情况下,电子设备对第一图像进行第一矫正处理,得到矫正后的第一图像;在第一场景信息为非HDR场景的情况下,电子设备对第一图像进行第二矫正处理,得到矫正后的第一图像。
在第一图像的第一场景信息为HDR场景的情况下,电子设备对第一图像进行第一矫正处理的一种可能的实现方式为:电子设备对第一图像进行直方图均衡化处理,得到矫正后的第一图像。
在第一图像的第一场景信息为HDR场景的情况下,电子设备对第二图像进行第一矫正处理的另一种可能的实现方式为:电子设备从第二灰度值对照表中,查找第一图像中的每个像素在各个颜色通道的第五灰度值对应的第六灰度值;电子设备将第一图像中的每个像素在各个颜色通道的第五灰度值,替换为对应的第六灰度值,得到矫正后的第一图像。其中,第六灰度值与第五灰度值之间符合类伽马函数关系。
在第一图像的第一场景信息为非HDR场景的情况下,电子设备对第一图像进行第二矫正处理的一种可能的实现方式为:电子设备从第一灰度值对照表中,查找第一图像中的每个像素在各个颜色通道的第一灰度值对应的第二灰度值;电子设备将第一图像中的每个像素在各个颜色通道的第一灰度值,替换为对应的第二灰度值,得到矫正后的第一图像。其中,第二灰度值与第一灰度值之间符合伽马函数关系。
针对第一图像流中的第一图像,电子设备也可以按照上述S707的具体实现方式,对第一图像进行尺寸调整,得到第四图像。
在第一图像参数满足第一预设条件的情况下,电子设备在对第一图像进行矫正之后,电子设备可以对矫正后的第一图像进行尺寸调整,得到第四图像。在第一图像参数不满足第一预设条件的情况下,电子设备无需对第一图像进行矫正处理,而是直接对第一图像进行尺寸调整,得到第四图像。
在一些实施例中,电子设备对第一图像进行尺寸调整的具体实现方式可以为:电子设备对第一图像的边缘进行像素填充,得到第四图像;第四图像的尺寸比例为预设比例。其中,第一图像的边缘填充的像素的像素值可以均为0,也可以是第一图像中的所有像素的像素平均值,本申请实施例对此不进行限定。
并且,在第一图像的边缘进行像素填充时,可以根据需求在第一图像的宽度方向上或者高度方向上进行像素填充。当在第一图像的宽度方向上进行像素填充时,实际上可以是在第一图像的左侧边缘和/或右侧边缘进行像素填充;当在第一图像的高度方向上进行像素填充时,实际上可以是在第一图像的上侧边缘和/或下侧边缘进行像素填充。
针对第一图像流中的第一图像,电子设备也可以按照上述S708的具体实现方式,对第四图像进行归一化处理。
在一些实施例中,电子设备在对第一图像进行尺寸调整得到第四图像之后,电子设备可以对第四图像进行归一化处理。或者,电子设备也可以是在尺寸调整前对第一图像进行归一化处理。或者,电子设备还可以同时进行尺寸调整和归一化处理。
针对第一图像流中的第一图像,电子设备也可以按照上述S709和S710的具体实现方式,采用对象检测模型对第四图像进行检测,得到多个第一候选框的坐标信息和置信度;根据多个第一候选框的置信度,从多个第一候选框中筛选出至少一个第一对象框,以得到至少一个第一对象框的坐标信息。
综上,电子设备通过以下步骤:对第一图像进行预处理,得到第四图像;采用对象检测模型对第四图像进行检测,得到多个第一候选框的坐标信息和置信度;以及根据多个第一候选框的置信度,从多个第一候选框中筛选出至少一个第一对象框,以得到至少一个第一对象框的坐标信息。使得电子设备检测第一图像中的第一对象所在的第一对象框的坐标信息。
并且,电子设备通过以下步骤:获取第一图像的第一图像参数;判断第一图像的第一图像参数是否满足第一预设条件;在第一图像参数不满足第一预设条件的情况下,对第一图像进行尺寸调整,得到第四图像;在第一图像参数满足第一预设条件的情况下,对第一图像进行矫正,以及对矫正后的第一图像进行尺寸调整,得到第四图像;对第四图像进行归一化处理。使得电子设备对第一图像进行预处理,得到第四图像。
因此,针对第一图像流中的每一帧检测图像,如第一图像和第二图像,电子设备均需要执行上述的S703至S710,以获取到每一帧检测图像中的对象所在的对象框的坐标信息。例如检测图像可以为第一图像或第二图像,第一图像中的对象为第一对象,第二图像中的对象为第二对象。
示例性的,图10为本申请实施例提供的一种对象检测方法的流程示意图,其可以应用于电子设备中,具体可以包括如下步骤:
S1001,电子设备获取第一图像流;第一图像流包括第一图像和第二图像,第一图像为第二图像之前的图像帧。
需要说明的是,可以按照上述的S701和S702,使得电子设备获取第一图像流,其具体实现过程可参照上述的S701和S702的具体实现过程,为避免重复,在此不再赘述。
S1002,电子设备检测第二图像中的第二对象所在的第二对象框的坐标信息。
需要说明的是,可以按照上述的S703至S710,使得电子设备检测第二图像中的第二对象所在的第二对象框的坐标信息,其具体实现过程可参照上述的S703至S710的具体实现过程,为避免重复,在此不再赘述。
S1003,电子设备根据第二对象框的坐标信息从第二图像中提取第二对象框内的第二区域图像,第二区域图像包括第二对象。
电子设备在获取到第二对象框的坐标信息之后,电子设备可以根据第二对象框的坐标信息,从第二图像中提取第二对象框内的第二区域图像,即截取第二图像中的第二对象框内的图像。
S1004,电子设备采用行人重识别模型,提取第二区域图像内的第二对象的特征数据;特征数据包括行人重识别特征向量。
在一些实施例中,可以直接将第二区域图像输入行人重识别(person re-identification,ReID)模型,使得行人重识别模型从第二区域图像内提取出第二对象的特征数据。
在另一些实施例中,也可以对第二区域图像进行尺寸调整,然后将尺寸调整后的第二区域图像输入行人重识别模型,使得行人重识别模型从尺寸调整后的第二区域图像内提取出第二对象的特征数据。例如,尺寸调整后的第二区域图像的尺寸可以为112像素*112像素。
其中,行人重识别模型也可以称为行人再识别模型。行人重识别特征向量也就是ReID特征向量。以图像中的对象为人脸为例,行人重识别特征向量指的是带有人脸信息的行人的重识别特征向量。
在本申请实施例中,行人重识别模型包括ResNet模型或MobileNet模型。
示例性的,图11为本申请实施例提供的行人重识别模型的结构示意图。以行人重识别模型包括ResNet模型为例,如图11中的(a)所示,行人重识别模型包括依次级联的第一卷积层、第一池化层、第一残差单元、第二残差单元、第三残差单元、第四残差单元、第二池化层和全连接层。其中,第一卷积层的卷积核大小可以为7*7,第一卷积层的通道数可以为16;第一池化层可以为最大值池化层;第二池化层可以为平均池化层。
如图11中的(b)所示,第一残差单元包括依次连接的第二卷积层、第三卷积层、第四卷积层和第五卷积层。第一池化层的输出作为第二卷积层的输入,第二卷积层的输出作为第三卷积层的输入,第三卷积层的输出与第二卷积层的输入按照通道维度相加后作为第四卷积层的输入,第四卷积层的输出作为第五卷积层的输入,第五卷积层的输出与第四卷积层的输入按照通道维度相加后作为第二残差单元中的第六卷积层的输入。
其中,第二卷积层、第三卷积层、第四卷积层和第五卷积层的卷积核大小均为3*3,第二卷积层、第三卷积层、第四卷积层和第五卷积层的通道数均为16。
如图11中的(c)所示,第二残差单元、第三残差单元和第四残差单元均包括:第六卷积层、第七卷积层、第八卷积层、第九卷积层和第十卷积层。
第六卷积层的输出作为第七卷积层的输入,第六卷积层的输入还作为第十卷积层的输入,第十卷积层主要是为了调整通道的维度。第七卷积层的输出与第十卷积层的输出按照通道维度相加后作为第八卷积层的输入,第八卷积层的输出作为第九卷积层的输入。
在第二残差单元中,第九卷积层的输出和第八卷积层的输入按照通道维度相加后作为第三残差单元中的第六卷积层的输入。在第三残差单元中,第九卷积层的输出和第八卷积层的输入按照通道维度相加后作为第四残差单元中的第六卷积层的输入。在第四残差单元中,第九卷积层的输出和第八卷积层的输入按照通道维度相加后作为第二池化层的输入。
其中,第二残差单元包括的第六卷积层、第七卷积层、第八卷积层和第九卷积层的卷积核大小均为3*3,第二残差单元包括的第六卷积层、第七卷积层、第八卷积层和第九卷积层的通道数均为32;第二残差单元包括的第十卷积层的卷积核大小为1*1,第二残差单元包括的第十卷积层的通道数为32。
第三残差单元包括的第六卷积层、第七卷积层、第八卷积层和第九卷积层的卷积核大小均为3*3,第三残差单元包括的第六卷积层、第七卷积层、第八卷积层和第九卷积层的通道数均为64;第三残差单元包括的第十卷积层的卷积核大小为1*1,第三残差单元包括的第十卷积层的通道数为64。
第四残差单元包括的第六卷积层、第七卷积层、第八卷积层和第九卷积层的卷积核大小均为3*3,第四残差单元包括的第六卷积层、第七卷积层、第八卷积层和第九卷积层的通道数均为128;第四残差单元包括的第十卷积层的卷积核大小为1*1,第四残差单元包括的第十卷积层的通道数为128。
如图11所示,区域图像的图像规格为3*112*112,其表示区域图像的高度为112像素,宽度为112像素,通道数为3。区域图像输入至第一卷积层,第一卷积层对区域图像进行卷积处理,第一卷积层输出的特征图输入至第一池化层;第一池化层对第一卷积层输出的特征图进行池化处理,第一池化层输出的特征图输入至第一残差单元;第一残差单元对第一池化层输出的特征图进行处理,第一残差单元输出的特征图输入至第二残差单元;第二残差单元对第一残差单元输出的特征图进行处理,第二残差单元输出的特征图输入至第三残差单元;第三残差单元对第二残差单元输出的特征图进行处理,第三残差单元输出的特征图输入至第四残差单元;第四残差单元对第三残差单元输出的特征图进行处理,第四残差单元输出的特征图输入至第二池化层;第二池化层对第四残差单元输出的特征图进行池化处理,第二池化层输出的池化结果输入至全连接层;全连接层对第二池化层输出的池化结果进行处理,输出得到行人重识别特征向量,该行人重识别特征向量可以为256维的特征向量。
因此,本申请实施例可以采用ResNet模型作为行人重识别模型,由于ResNet模型能够通过增加网络深度,来提高网络性能,从而使得提取到的行人重识别特征向量更加准确。
可以理解的是,图11所示的ResNet模型仅作为行人重识别模型的一种示例,也可以替换为其他网络模型来作为行人重识别模型,本申请实施例对此不进行限定。并且,电子设备中设置的行人重识别模型可以是由云端服务器训练得到,其还可以根据云端服务器的更新操作进行实时更新。
因此,按照上述的S1002至S1004,使得电子设备提取第二图像中的每个第二对象的特征数据。
S1005,电子设备获取第一图像中的每个第一对象的特征数据。
在一些实施例中,针对第一图像流中的第一图像,电子设备也可以参照上述S703至S710的实现原理,来检测第一图像中的第一对象所在的第一对象框的坐标信息。电子设备可以参照上述S1003的实现原理,根据第一对象框的坐标信息从第一图像中提取第一对象框内的第一区域图像,第一区域图像包括第一对象。电子设备还可以参照上述S1004的实现原理,采用行人重识别模型提取第一区域图像内的第一对象的特征数据。这样,使得电子设备提取第一图像中的每个第一对象的特征数据。
电子设备在提取每一帧检测图像中的对象的特征数据时,其是一帧图像为单位进行处理的。因此,电子设备在提取到第一图像中的每个第一对象的特征数据之后,除了根据第一图像中的每个第一对象的特征数据,以及第一图像的前一帧检测图像中的每个对象的特征数据,来确定第一图像中的第一对象与第一图像的前一帧检测图像中的对象之间的匹配关系之外,还会将第一图像中的每个第一对象的特征数据存储到动态内存中。
这样,电子设备在提取到第二图像中的每个第二对象的特征数据之后,如果需要根据每个第一对象的特征数据和每个第二对象的特征数据,确定第一对象与第二对象之间的匹配关系,则电子设备需要通过查表的方式,从动态内存中查找第一图像中的每个第一对象的特征数据。
例如,动态内存中存储有第一图像中的5个第一对象的特征数据,如第一个第一对象的特征数据1、第二个第一对象的特征数据2、第三个第一对象的特征数据3、第四个第一对象的特征数据4以及第五个第一对象的特征数据5。
S1006,电子设备根据每个第一对象的特征数据和每个第二对象的特征数据,确定第一对象与第二对象之间的匹配关系;匹配关系用于表示第一对象与第二对象是否为同一对象。
在一些实施例中,电子设备在提取到第二图像中的每个第二对象的特征数据,以及查找到之前保存的第一图像中的每个第一对象的特征数据之后,电子设备可以将每个第二对象的特征数据与每个第一对象的特征数据进行匹配,得到第一对象与第二对象之间的匹配关系,该匹配关系用于表示第一对象与第二对象是否为同一对象。
具体的,电子设备计算第一对象的特征数据与第二对象的特征数据之间的特征距离,特征距离包括余弦距离和/或欧式距离;根据特征距离,确定第一对象与第二对象是否为同一对象。该特征数据用于表示第一对象与第二对象之间的相似度。
一种可能的实现方式,特征距离包括余弦距离。当余弦距离越大时,表示第一对象与第二对象的相似度越高;当余弦距离越小时,表示第一对象与第二对象的相似度越低。因此,在第一对象的特征数据与第二对象的特征数据之间的余弦距离大于或等于第一距离阈值的情况下,电子设备确定第一对象与第二对象为同一对象;在第一对象的特征数据与第二对象的特征数据之间的余弦距离小于第一距离阈值的情况下,电子设备确定第一对象与第二对象不为同一对象。
另一种可能的实现方式,特征距离包括欧式距离。当欧式距离越大时,表示第一对象与第二对象的相似度越低;当欧式距离越小时,表示第一对象与第二对象的相似度越高。因此,在第一对象的特征数据与第二对象的特征数据之间的欧氏距离小于或等于第二距离阈值的情况下,电子设备确定第一对象与第二对象为同一对象;在第一对象的特征数据与第二对象的特征数据之间的欧氏距离大于第二距离阈值的情况下,电子设备确定第一对象与第二对象不为同一对象。
其中,第一距离阈值和第二距离阈值可以根据实际情况进行设定,本申请实施例对此不进行限定。
S1007,电子设备根据匹配关系,显示第二对象对应的目标对象框。
电子设备在确定出第一对象与第二对象之间的匹配关系之后,电子设备可以根据第二对象所在的第二对象框的坐标信息,以及第一对象与第二对象之间的匹配关系,来共同确定第二对象对应的目标对象框的坐标信息,并基于目标对象框的坐标信息来显示第二对象对应的目标对象框。
在一些场景中,第一图像流还包括第三图像,第三图像为第二图像的前一帧图像,且第三图像为第一图像之后的图像帧,第三图像包括第一对象。电子设备根据匹配关系显示第二对象对应的目标对象框的一种可能的实现方式为:在第一对象与第二对象为同一对象的情况下,根据第三图像中的第一对象所在的跟踪框的坐标信息以及第二对象所在的第二对象框的坐标信息,确定第二对象对应的目标对象框的坐标信息;根据第二对象对应的目标对象框的坐标信息,显示目标对象框。
在第一图像流中,第一图像和第二图像为相邻的两帧检测图像,第三图像为第二图像的前一帧跟踪图像。
示例性的,图12为本申请实施例提供的对第一图像流中的多帧图像依次进行处理的示意图。参照图12所示,第一图像流可以包括第1帧图像、第2帧图像、第3帧图像、第4帧图像、第5帧图像、第6帧图像和第7帧图像。其中,第1帧图像和第6帧图像为相邻的两帧检测图像,第2帧图像、第3帧图像、第4帧图像和第5帧图像均为第1帧图像的跟踪图像,第7帧图像为第6帧图像的跟踪图像。
以第一图像流中的第1帧图像为第一图像,第一图像流中的第6帧图像为第二图像,且第一图像流中的第5帧图像为第三图像为例。电子设备可以检测出第1帧图像中的每个第一对象所在的第一对象框的坐标信息,并提取出第1帧图像中的每个第一对象的行人重识别特征向量;电子设备还可以基于第1帧图像检测出的第一对象,采用对象跟踪算法对第2帧图像、第3帧图像、第4帧图像和第5帧图像中的第一对象分别进行实时跟踪,以得到每一帧跟图像中的第一对象所在的跟踪框的坐标信息;电子设备也可以检测出第6帧图像中的每个第二对象所在的第二对象框的坐标信息,并提取出第6帧图像中的每个第二对象的行人重识别特征向量。
这样,电子设备会根据第1帧图像中的每个第一对象的行人重识别特征向量,与第6帧图像中的每个第二对象的行人重识别特征向量,确定第一对象与第二对象之间的匹配关系。
若根据匹配关系确定出第6帧图像中存在有至少一个第二对象,与第1帧图像中的第一对象为同一对象,则针对属于同一对象的第一对象和第二对象,电子设备可以根据第5帧图像中的第一对象所在的跟踪框的坐标信息,以及第6帧图像中的第二对象所在的第二对象框的坐标信息进行平滑处理,以计算得到第6帧图像中的第二对象对应的目标对象框的坐标信息。
由于同一对象在前后两帧图像中的位置可能发生变化,因此,为了降低对象框显示时的抖动,电子设备在显示对象框时,对象框显示的位置不会直接从前一帧图像的显示位置直接跳变到后一帧图像的显示位置,而是根据前一帧图像中的对象框的位置与后一帧图像中的对象框的位置进行平滑处理,并在前一帧图像的显示位置与后一帧图像的显示位置之间的位置显示平滑处理后的对象框,从而降低对象框显示时的抖动。
以对象框为矩形框,对象框的坐标信息包括矩形框的左上角顶点的坐标,并且,跟踪框也矩形框,跟踪框的坐标信息也包括矩形框的左上角顶点的坐标为例,电子设备是对第三图像中的第一对象所在的跟踪框的左上角顶点的坐标,与第二对象所在的第二对象框的左上角顶点的坐标进行加权求和,来实现平滑处理,以得到第二对象对应的目标对象框的左上角顶点的坐标。
假设第三图像中的第一对象所在的跟踪框的左上角顶点的坐标为(x1,y1),第二对象所在的第二对象框的左上角顶点的坐标为(x2,y2),则第二对象对应的目标对象框的左上角顶点的坐标为(x3,y3),且x3=w1×x1+w2×x2,y3=w3×y1+w4×y2。w1、w2、w3和w4分别表示权重,其为大于0且小于1的数值。例如,w1和w3可以为0.2,w2和w4可以为0.8。
应理解,图12所示的第一图像流中相邻的两帧检测图像之间间隔4帧跟踪图像,来作为对第一图像流中的多帧图像的一种示例性的处理方式,其并能构成对本申请实施例的限定。相邻的两帧检测图像之间间隔的跟踪图像的帧数可以为其他数量,本申请实施例对此不进行限定。此外,由于对象跟踪算法的计算复杂度低于对象检测算法的计算复杂度,因此,通过将第一图像流中的部分图像作为检测图像来进行对象检测,以及将第一图像流中的部分图像作为跟踪图像来进行对象跟踪,可以降低电子设备的计算负担。
以图13所示的场景为例,针对图13中的(a)所示的第1帧检测图像,其可以在预览框1021内显示位于左侧的人物对应的第一人脸框201以及位于右侧的人物对应的第二人脸框202。
针对图13中的(b)所示的第2帧检测图像,由于本申请实施例可以根据第1帧检测图像中的每个第一对象的特征数据,以及第2帧检测图像中的每个第二对象的特征数据,来确定出第一对象与第二对象之间的匹配关系,且确定出的匹配关系的精确度较高。因此,可以确定出第2帧检测图像中检测得到的位于左侧的人物对应的人脸框内的人脸,与第1帧检测图像中检测得到的第一人脸框201内的人脸为同一人脸,且第2帧检测图像中检测得到的位于右侧的人物对应的人脸框内的人脸,与第1帧检测图像中检测得到的第二人脸框202内的人脸为同一人脸。
这样,可以根据第2帧检测图像检测得到的位于左侧的人物对应的人脸框的坐标位置,以及第2帧检测图像的前一帧跟踪图像中位于左侧的人物对应的人脸框的坐标位置,来共同确定第2帧检测图像中位于左侧的人物对应的第五人脸框205的坐标位置,并在预览框1021内显示位于左侧的人物对应的第五人脸框205。此时,位于左侧的人物对应的第五人脸框205的显示位置,与位于左侧的人物的人脸所在位置基本一致。
相应的,可以根据第2帧检测图像检测得到的位于右侧的人物对应的人脸框的坐标位置,以及第2帧检测图像的前一帧跟踪图像中位于右侧的人物对应的人脸框的坐标位置,来共同确定第2帧检测图像中位于右侧的人物对应的第六人脸框206的坐标位置,并在预览框1021内显示位于右侧的人物对应的第六人脸框206。此时,位于右侧的人物对应的第六人脸框206的显示位置,与位于右侧的人物的人脸所在位置基本一致。
针对图13中的(c)所示的第3帧检测图像,其也可以根据第2帧检测图像中的每个第一对象的特征数据,以及第3帧检测图像中的每个第二对象的特征数据,确定出第3帧检测图像中检测得到的位于左侧的人物对应的人脸框内的人脸,与第2帧检测图像中检测得到的位于左侧的人物对应的人脸框内的人脸为同一人脸,且第3帧检测图像中检测得到的位于右侧的人物对应的人脸框内的人脸,与第2帧检测图像中检测得到的位于右侧的人物对应的人脸框内的人脸为同一人脸。
这样,可以根据第3帧检测图像检测得到的位于左侧的人物对应的人脸框的坐标位置,以及第3帧检测图像的前一帧跟踪图像中位于左侧的人物对应的人脸框的坐标位置,来共同确定第3帧检测图像中位于左侧的人物对应的第七人脸框207的坐标位置,并在预览框1021内显示位于左侧的人物对应的第七人脸框207。此时,位于左侧的人物对应的第七人脸框207的显示位置,与位于左侧的人物的人脸所在位置基本一致。
相应的,可以根据第3帧检测图像检测得到的位于右侧的人物对应的人脸框的坐标位置,以及第3帧检测图像的前一帧跟踪图像中位于右侧的人物对应的人脸框的坐标位置,来共同确定第3帧检测图像中位于右侧的人物对应的第八人脸框208的坐标位置,并在预览框1021内显示位于右侧的人物对应的第八人脸框208。此时,位于右侧的人物对应的第八人脸框208的显示位置,与位于右侧的人物的人脸所在位置基本一致。
因此,结合图13中的(a)、图13中的(b)以及图13中的(c)所示的界面,可以看出,相对于图2所示的界面,本申请实施例可以根据相邻的两帧检测图像中的对象的特征数据,来确定相邻的两帧检测图像中的对象之间的匹配关系,使得电子设备在依次显示多帧图像中的各个人脸所在的人脸框时,可以提高同一人脸对应的人脸框显示的稳定性,从而改善同一人脸对应的人脸框会出现跳变、闪动的问题。
以图14所示的场景为例,电子设备在检测到如图14的(a)所示的第1帧检测图像中的11个人物的人脸的特征数据之后,会按照11个人物的人脸所在的人脸框的尺寸,以从大到小的顺序保存前10个人物的人脸的特征数据,如保存的是除后排最右侧的人物以外的其他10个人物的人脸的特征数据。并且,电子设备会输出除后排最右侧的人物以外的其他10个人物对应的人脸框的坐标位置,并根据输出的这10个人物对应的人脸框的坐标信息来显示10个人脸框。这样,针对图14中的(a)所示的第1帧检测图像,预览框1021内的后排最右侧的人物的人脸所在位置没有显示人脸框,而其他10个人物的人脸所在位置显示有人脸框。
针对图14中的(b)所示的第2帧检测图像,由于本申请实施例可以根据第2帧检测图像中的每个第二对象的特征数据,以及针对第1帧检测图像保存的第一对象的特征数据,来确定出第一对象与第二对象之间的匹配关系,且确定出的匹配关系的精确度较高。因此,电子设备在检测到如图14的(b)所示的第2帧检测图像中的11个人物的人脸的特征数据之后,会将第2帧检测图像中的11个人物的人脸的特征数据,与保存的第1帧检测图像中的10个人脸的特征数据进行匹配,从而确定出第2帧检测图像中除后排最右侧的人物以外的其他10个人物的人脸,与针对第1帧检测图像保存的10个特征数据所对应的人脸一一对应,且为同一人脸,而第2帧检测图像中后排最右侧的人物的人脸,与针对第1帧检测图像保存的10个特征数据所对应的人脸不是同一人脸。
因此,电子设备会输出除后排最右侧的人物以外的其他10个人物对应的人脸框的坐标信息,并根据输出的这10人物对应的人脸框的坐标信息来显示10个人脸框。并且,电子设备还会保存除后排最右侧的人物以外的其他10个人物的人脸的特征数据。这样,针对图14中的(b)所示的第2帧检测图像,预览框1021内的后排最右侧的人物的人脸所在位置没有显示人脸框,而其他10个人物的人脸所在位置显示有人脸框。
针对图14中的(c)所示的第3帧检测图像,其也可以根据第3帧检测图像中的每个第二对象的特征数据,以及针对第2帧检测图像保存的第一对象的特征数据,确定出第3帧检测图像中除后排最右侧的人物以外的其他10个人物的人脸,与针对第2帧检测图像保存的10个特征数据所对应的人脸一一对应,且为同一人脸,而第3帧检测图像中后排最右侧的人物的人脸,与针对第2帧检测图像保存的10个特征数据所对应的人脸不是同一人脸。这样,针对图14中的(c)所示的第3帧检测图像,预览框1021内的后排最右侧的人物的人脸所在位置没有显示人脸框,而其他10个人物的人脸所在位置显示有人脸框。
因此,结合图14中的(a)、图14中的(b)以及图14中的(c)所示的界面,可以看出,相对于图3所示的界面,本申请实施例可以根据相邻的两帧检测图像中的对象的特征数据,来确定相邻的两帧检测图像中的对象之间的匹配关系,使得电子设备在依次显示多帧图像中的各个人脸所在的人脸框时,可以提高各个人脸对应的人脸框显示的稳定性,从而改善各个人脸对应的人脸框出现跳变、闪动的问题。
以图15所示的场景为例,针对图15中的(a)所示的第1帧检测图像,其可以在预览框1021内显示人物对应的第九人脸框401,此时,狗脸所在的位置处没有显示人脸框。
针对图15中的(b)所示的第2帧检测图像,由于人脸检测可能存在一定概率的误检或漏检等情况,因此,电子设备在对第2帧检测图像进行人脸检测之后,可能将狗的狗脸误认为人脸。
但是,由于本申请实施例可以根据第1帧检测图像中的每个第一对象的特征数据,以及第2帧检测图像中的每个第二对象的特征数据,来确定出第一对象与第二对象之间的匹配关系,且确定出的匹配关系的精确度较高。因此,可以确定出第2帧检测图像中检测得到的第十人脸框402内的人脸,与第1帧检测图像中检测得到的第九人脸框401内的人脸为同一人脸,而第2帧检测图像中检测得到的误认为人脸的狗脸,与第1帧检测图像中检测得到的各个人脸框内的人脸不为同一人脸。这样,针对图15中的(b)所示的第2帧检测图像,电子设备可能会在预览框1021内显示人物对应的第十人脸框402,此时,狗脸所在的位置处没有显示人脸框。
针对图15中的(c)所示的第3帧检测图像,其检测到一个人物的人脸所在的人脸框的坐标位置,并在预览框1021内显示该人物对应的第十二人脸框404。此时,狗脸所在的位置处也没有显示人脸框。
因此,结合图15中的(a)、图15中的(b)以及图15中的(c)所示的界面,可以看出,相对于图4所示的界面,本申请实施例可以根据相邻的两帧检测图像中的对象的特征数据,来确定相邻的两帧检测图像中的对象之间的匹配关系,使得电子设备在依次显示多帧图像中的各个人脸所在的人脸框时,可以提高人脸框显示的稳定性,从而改善各个人脸对应的人脸框出现跳变、闪动的问题。
此外,以图像中的对象为人脸为例,本申请实施例在确定出第一图像中的每个第一对象,与第二图像中的每个第二对象之间的匹配关系之后,还可以将每一帧检测图像中的对象所在的对象框(如第一图像中的第一对象所在的第一对象框,或者第二图像中的第二对象所在的第二对象框)的坐标信息,以及第一对象与第二对象之间的匹配关系,作为后续人脸跟踪、人脸属性检测、人脸关键点检测、美化处理以及自动对焦等操作的输入数据,以提供数据支持。
一种情况,在第一对象与第二对象为同一对象的情况下,电子设备不执行针对第二对象的属性检测操作。
若电子设备根据匹配关系,确定出第二图像中存在有至少一个第二对象与第一图像中的第一对象为同一对象,则针对与第一对象属于同一对象的第二对象,电子设备不检测该第二对象的属性信息,从而降低电子设备的功耗。
若电子设备根据匹配关系,确定出第二图像中存在有与第一对象不属于同一对象的第二对象,则针对与第一对象不属于同一对象的第二对象,电子设备需要采用属性检测算法,检测该第二对象的属性信息。
以对象为人脸为例,人脸的属性信息包括性别、年龄以及肤色等属性。
另一种情况,电子设备根据第一对象与第二对象之间的匹配关系,执行目标操作;目标操作包括对象跟踪操作、关键点检测操作、美化处理操作以及自动对焦操作中的至少一项。
其中,关键点检测操作用于检测图像中的对象的关键点的位置等信息。以对象为人脸为例,关键点操作操作用于检测人脸图像中的人脸的眉毛、眼睛、鼻子、嘴巴、脸部轮廓等关键点的位置信息。
以对象为人脸为例,美化处理操作也可以称为美颜操作,美颜操作包括对人脸进行皮肤美白、磨皮、瘦脸、调整眼睛大小以及对嘴唇添加口红等一种或多种操作。
以对象为人脸为例,自动对焦操作可以根据人脸所在的人脸框进行自动对焦。
在一些预览场景中,摄像头采集的图像流包括的多帧图像中,均包括一位男性的人脸和一位女性的人脸。若相关技术没有确定相邻的两帧检测图像中的各个人脸之间的匹配关系,或者确定出的匹配关系的精确度较低,则有可能导致相邻的两帧检测图像中,第Z帧检测图像中的男性的人脸,与第Z-1帧检测图像中的女性的人脸被误认为同一人脸,以及第Z帧检测图像中的女性的人脸,与第Z-1帧检测图像中的男性的人脸被误认为同一人脸。Z为大于1的整数。
通常,电子设备在进行美颜处理时,会对女性的嘴唇添加口红,而不对男性的嘴唇添加口红。这样,在检测到第Z-1帧检测图像中的女性的人脸的性别属性为女性时,则电子设备可以对第Z-1帧检测图像中的女性的人脸中的嘴唇添加口红;而第Z帧检测图像中的女性的人脸,与第Z-1帧检测图像中的男性的人脸被误认为同一人脸,且第Z-1帧检测图像中的男性的性别属性已检测,使得第Z帧检测图像中的女性的性别属性会被默认为男性,则电子设备不对第Z帧检测图像中的女性的人脸中的嘴唇添加口红。因此,会导致电子设备在显示摄像头采集的图像流时,某几帧图像中的女性的嘴唇有添加口红,而接下来几帧图像中的女性的嘴唇又没有添加口红,导致预览画面的显示效果不稳定。
因此,本申请实施例可以根据相邻的两帧检测图像中的对象的特征数据,来确定相邻的两帧检测图像中的对象之间的匹配关系,使得电子设备可以准确确定每一帧检测图像中的各个人脸的性别属性,从而在电子设备在显示摄像头采集的图像流时,会对图像流中的每一帧图像中的女性的嘴唇添加口红,提高预览画面显示时的稳定性。
综上,本申请实施例可以根据相邻的两帧检测图像中的对象的特征数据,来确定相邻的两帧检测图像中的对象之间的匹配关系,且将每一帧检测图像中的对象所在的对象框的坐标信息,以及第一对象与第二对象之间的匹配关系,作为对象跟踪操作、关键点检测、美化处理以及自动对焦等操作的输入数据,可以提高对象跟踪操作、关键点检测、美化处理以及自动对焦等操作处理后的图像在显示时的稳定性。
上面结合图7至图15,对本申请实施例提供的对象检测方法进行了说明,下面对本申请实施例提供的执行上述方法的装置进行描述。如图16所示,图16为本申请实施例提供的一种对象检测装置的结构示意图。该对象检测装置可以是本申请实施例中的电子设备,或电子设备内的芯片或芯片系统。
如图16所示,该对象检测装置1600可以包括:显示单元1601和处理单元1602。其中,显示单元1601用于支持对象检测装置1600执行上述的显示步骤;处理单元1602用于支持对象检测装置1600执行上述的处理步骤。
具体的,处理单元1602用于获取获取第一图像流,第一图像流包括第一图像和第二图像,第一图像为第二图像之前的图像帧,第一图像包括至少一个第一对象,第二图像包括至少一个第二对象;处理单元1602用于分别提取每个第一对象的特征数据以及每个第二对象的特征数据;处理单元1602用于根据每个第一对象的特征数据和每个第二对象的特征数据,确定第一对象与第二对象之间的匹配关系,匹配关系用于表示第一对象与第二对象是否为同一对象;显示单元1601用于根据匹配关系,显示第二对象对应的目标对象框。
在一种可能的实现方式中,该对象检测装置1600还包括存储单元1603。存储单元1603和处理单元1602通过线路相连。存储单元1603可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。存储单元1603可以独立存在,通过通信总线与处理单元1602相连。存储单元1603也可以和处理单元1602集成在一起。
存储单元1603可以存储电子设备中的方法的计算机执行指令,以使处理单元1602执行上述实施例中的方法。存储单元1603可以是寄存器、缓存或者随机存取存储器(randomaccess memory,RAM)等,存储单元1603可以和处理单元1602集成在一起。存储单元1603可以是只读存储器(read-only memory,ROM)或者可存储静态信息和指令的其他类型的静态存储设备,存储单元1603可以与处理单元1602相独立。
图17为本申请实施例提供的一种芯片的结构示意图。如图17所示,芯片1700包括一个或两个以上(包括两个)处理器1701、通信线路1702和通信接口1703,可选的,芯片1700还包括存储器1704。
在一些实施方式中,存储器1704存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
上述本申请实施例描述的方法可以应用于处理器1701中,或者由处理器1701实现。处理器1701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1701可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器1701可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electricallyerasable programmable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器1704,处理器1701读取存储器1704中的信息,结合其硬件完成上述方法的步骤。
处理器1701、存储器1704以及通信接口1703之间可以通过通信线路1702进行通信。
在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
本申请实施例还提供一种计算机程序产品,其包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatiledisc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例提供一种电子设备,该电子设备包括处理器和存储器,存储器用于存储计算机程序,处理器用于执行计算机程序,以执行上述的对象检测方法。
本申请实施例提供一种芯片。芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机程序或指令。计算机程序或指令被处理器执行时实现上述方法。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compactdisc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其他光盘存储器;计算机可读介质可以包括磁盘存储器或其他磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其他远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,DVD,软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (23)
1.一种对象检测方法,其特征在于,应用于电子设备,所述方法包括:
获取第一图像流;所述第一图像流包括第一图像和第二图像,所述第一图像为所述第二图像之前的图像帧,所述第一图像包括至少一个第一对象,所述第二图像包括至少一个第二对象;
分别提取每个所述第一对象的特征数据以及每个所述第二对象的特征数据;
根据每个所述第一对象的特征数据和每个所述第二对象的特征数据,确定所述第一对象与所述第二对象之间的匹配关系;所述匹配关系用于表示所述第一对象与所述第二对象是否为同一对象;
根据所述匹配关系,显示所述第二对象对应的目标对象框。
2.根据权利要求1所述的方法,其特征在于,所述第一图像流还包括第三图像,所述第三图像为所述第二图像的前一帧图像,且所述第三图像为所述第一图像之后的图像帧,所述第三图像包括所述第一对象;所述根据所述匹配关系,显示所述第二对象对应的目标对象框,包括:
在所述第一对象与所述第二对象为同一对象的情况下,根据所述第三图像中的所述第一对象所在的跟踪框的坐标信息以及所述第二对象所在的第二对象框的坐标信息,确定所述第二对象对应的目标对象框的坐标信息;
根据所述第二对象对应的目标对象框的坐标信息,显示所述目标对象框。
3.根据权利要求1所述的方法,其特征在于,在所述根据每个所述第一对象的特征数据和每个所述第二对象的特征数据,确定所述第一对象与所述第二对象之间的匹配关系之后,还包括:
在所述第一对象与所述第二对象为同一对象的情况下,不执行针对所述第二对象的属性检测操作。
4.根据权利要求1所述的方法,其特征在于,在所述根据每个所述第一对象的特征数据和每个所述第二对象的特征数据,确定所述第一对象与所述第二对象之间的匹配关系之后,还包括:
根据所述匹配关系,执行目标操作;所述目标操作包括对象跟踪操作、关键点检测操作、美化处理操作以及自动对焦操作中的至少一项。
5.根据权利要求1所述的方法,其特征在于,所述根据每个所述第一对象的特征数据和每个所述第二对象的特征数据,确定所述第一对象与所述第二对象之间的匹配关系,包括:
计算所述第一对象的特征数据与所述第二对象的特征数据之间的特征距离;所述特征距离包括余弦距离和/或欧式距离;
根据所述特征距离,确定所述第一对象与所述第二对象是否为同一对象。
6.根据权利要求5所述的方法,其特征在于,所述特征距离包括所述余弦距离;所述根据所述特征距离,确定所述第一对象与所述第二对象是否为同一对象,包括:
在所述第一对象的特征数据与所述第二对象的特征数据之间的余弦距离大于或等于第一距离阈值的情况下,确定所述第一对象与所述第二对象为同一对象;
在所述第一对象的特征数据与所述第二对象的特征数据之间的余弦距离小于所述第一距离阈值的情况下,确定所述第一对象与所述第二对象不为同一对象。
7.根据权利要求5所述的方法,其特征在于,所述特征距离包括所述欧式距离;所述根据所述特征距离,确定所述第一对象与所述第二对象是否为同一对象,包括:
在所述第一对象的特征数据与所述第二对象的特征数据之间的欧氏距离小于或等于第二距离阈值的情况下,确定所述第一对象与所述第二对象为同一对象;
在所述第一对象的特征数据与所述第二对象的特征数据之间的欧氏距离大于所述第二距离阈值的情况下,确定所述第一对象与所述第二对象不为同一对象。
8.根据权利要求1所述的方法,其特征在于,所述分别提取每个所述第一对象的特征数据以及每个所述第二对象的特征数据,包括:
分别检测所述第一图像中的所述第一对象所在的第一对象框的坐标信息,以及所述第二图像中的所述第二对象所在的第二对象框的坐标信息;
根据所述第一对象框的坐标信息从所述第一图像中提取所述第一对象框内的第一区域图像,以及根据所述第二对象框的坐标信息从所述第二图像中提取所述第二对象框内的第二区域图像;所述第一区域图像包括所述第一对象,所述第二区域图像包括所述第二对象;
分别提取所述第一区域图像内的所述第一对象的特征数据,以及所述第二区域图像内的所述第二对象的特征数据。
9.根据权利要求8所述的方法,其特征在于,所述分别检测所述第一图像中的所述第一对象所在的第一对象框的坐标信息,以及所述第二图像中的所述第二对象所在的第二对象框的坐标信息,包括:
对所述第一图像进行预处理,得到第四图像;
采用对象检测模型对所述第四图像进行检测,得到多个第一候选框的坐标信息和置信度;
根据所述多个第一候选框的置信度,从所述多个第一候选框中筛选出至少一个第一对象框,以得到所述至少一个第一对象框的坐标信息;
对所述第二图像进行预处理,得到第五图像;
采用所述对象检测模型对所述第五图像进行检测,得到多个第二候选框的坐标信息和置信度;
根据所述多个第二候选框的置信度,从所述多个第二候选框中筛选出至少一个第二对象框,以得到所述至少一个第二对象框的坐标信息。
10.根据权利要求9所述的方法,其特征在于,所述对所述第一图像进行预处理,得到第四图像,包括:
获取所述第一图像的第一图像参数;所述第一图像参数包括第一亮度值和/或第一曝光值;
在所述第一图像参数不满足第一预设条件的情况下,对所述第一图像进行尺寸调整,得到所述第四图像;
相应的,所述对所述第二图像进行预处理,得到第五图像,包括:
获取所述第二图像的第二图像参数;所述第二图像参数包括第二亮度值和/或第二曝光值;
在所述第二图像参数不满足第二预设条件的情况下,对所述第二图像进行尺寸调整,得到所述第五图像;
其中,在所述第一图像参数包括所述第一亮度值的情况下,当所述第一亮度值大于或等于第一亮度阈值时,所述第一图像参数不满足所述第一预设条件;在所述第一图像参数包括所述第一曝光值的情况下,当所述第一曝光值大于或等于第一曝光阈值时,所述第一图像参数不满足所述第一预设条件;
在所述第二图像参数包括所述第二亮度值的情况下,当所述第二亮度值大于或等于第二亮度阈值时,所述第二图像参数不满足所述第二预设条件;在所述第二图像参数包括所述第二曝光值的情况下,当所述第二曝光值大于或等于第二曝光阈值时,所述第二图像参数不满足所述第二预设条件。
11.根据权利要求10所述的方法,其特征在于,在所述获取所述第一图像的第一图像参数之后,还包括:
在所述第一图像参数满足所述第一预设条件的情况下,对所述第一图像进行矫正;
对矫正后的所述第一图像进行尺寸调整,得到所述第四图像;
相应的,在所述获取所述第二图像的第二图像参数之后,还包括:
在所述第二图像参数满足所述第二预设条件的情况下,对所述第二图像进行矫正;
对矫正后的所述第二图像进行尺寸调整,得到所述第五图像;
其中,在所述第一图像参数包括所述第一亮度值的情况下,当所述第一亮度值小于所述第一亮度阈值时,所述第一图像参数满足所述第一预设条件;在所述第一图像参数包括所述第一曝光值的情况下,当所述第一曝光值小于所述第一曝光阈值时,所述第一图像参数满足所述第一预设条件;
在所述第二图像参数包括所述第二亮度值的情况下,当所述第二亮度值小于所述第二亮度阈值时,所述第二图像参数满足所述第二预设条件;在所述第二图像参数包括所述第二曝光值的情况下,当所述第二曝光值小于所述第二曝光阈值时,所述第二图像参数满足所述第二预设条件。
12.根据权利要求10所述的方法,其特征在于,所述对所述第一图像进行尺寸调整,得到所述第四图像,包括:
对所述第一图像的边缘进行像素填充,得到所述第四图像;所述第四图像的尺寸比例为预设比例;
相应的,所述对所述第二图像进行尺寸调整,得到所述第五图像,包括:
对所述第二图像的边缘进行像素填充,得到所述第五图像;所述第五图像的尺寸比例为所述预设比例。
13.根据权利要求10或11所述的方法,其特征在于,所述方法还包括:
对所述第一图像或所述第四图像进行归一化处理;
对所述第二图像或所述第五图像进行归一化处理。
14.根据权利要求11所述的方法,其特征在于,所述对所述第一图像进行矫正,包括:
获取所述第一图像的第一场景信息;所述第一场景信息包括HDR场景或非HDR场景;
在所述第一场景信息为所述HDR场景的情况下,对所述第一图像进行第一矫正处理,得到矫正后的第一图像;
在所述第一场景信息为所述非HDR场景的情况下,对所述第一图像进行第二矫正处理,得到矫正后的第一图像;
相应的,所述对所述第二图像进行矫正,包括:
获取所述第二图像的第二场景信息;所述第二场景信息包括所述HDR场景或所述非HDR场景;
在所述第二场景信息为所述HDR场景的情况下,对所述第二图像进行所述第一矫正处理,得到矫正后的第二图像;
在所述第二场景信息为所述非HDR场景的情况下,对所述第二图像进行所述第二矫正处理,得到矫正后的第二图像。
15.根据权利要求14所述的方法,其特征在于,所述对所述第一图像进行第一矫正处理,得到矫正后的第一图像,包括:
对所述第一图像进行直方图均衡化处理,得到矫正后的第一图像;
相应的,所述对所述第二图像进行所述第一矫正处理,得到矫正后的第二图像,包括:
对所述第二图像进行直方图均衡化处理,得到矫正后的第二图像。
16.根据权利要求14所述的方法,其特征在于,所述对所述第一图像进行第二矫正处理,得到矫正后的第一图像,包括:
从第一灰度值对照表中,查找所述第一图像中的每个像素在各个颜色通道的第一灰度值对应的第二灰度值;
将所述第一图像中的每个像素在各个颜色通道的第一灰度值,替换为对应的所述第二灰度值,得到矫正后的第一图像;
相应的,所述对所述第二图像进行所述第二矫正处理,得到矫正后的第二图像,包括:
从所述第一灰度值对照表中,查找所述第二图像中的每个像素在各个颜色通道的第三灰度值对应的第四灰度值;
将所述第二图像中的每个像素在各个颜色通道的第三灰度值,替换为对应的所述第四灰度值,得到矫正后的第二图像;
其中,所述第二灰度值与所述第一灰度值之间符合伽马函数关系,所述第四灰度值与所述第三灰度值之间也符合所述伽马函数关系。
17.根据权利要求8所述的方法,其特征在于,所述分别提取所述第一区域图像内的所述第一对象的特征数据,以及所述第二区域图像内的所述第二对象的特征数据,包括:
采用行人重识别模型,分别提取所述第一区域图像内的所述第一对象的特征数据,以及所述第二区域图像内的所述第二对象的特征数据;所述行人重识别模型包括ResNet模型或MobileNet模型,所述特征数据包括行人重识别特征向量。
18.根据权利要求1所述的方法,其特征在于,所述获取第一图像流,包括:
获取第二图像流;
对所述第二图像流包括的图像进行降采样处理,得到所述第一图像流;所述第一图像流包括的图像的尺寸小于所述第二图像流包括的图像的尺寸。
19.根据权利要求1所述的方法,其特征在于,在所述分别提取每个所述第一对象的特征数据以及每个所述第二对象的特征数据之前,还包括:
将所述第一图像的图像格式转换为RGB格式,以及将所述第二图像的图像格式转换为RGB格式。
20.根据权利要求1所述的方法,其特征在于,所述第一对象和所述第二对象包括人脸。
21.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以执行如权利要求1至20中任一项所述的对象检测方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1至20中任一项所述的对象检测方法。
23.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1至20中任一项所述的对象检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311000823.XA CN117710697A (zh) | 2023-08-09 | 2023-08-09 | 对象检测方法、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311000823.XA CN117710697A (zh) | 2023-08-09 | 2023-08-09 | 对象检测方法、电子设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117710697A true CN117710697A (zh) | 2024-03-15 |
Family
ID=90161285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311000823.XA Pending CN117710697A (zh) | 2023-08-09 | 2023-08-09 | 对象检测方法、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117710697A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738120A (zh) * | 2020-06-12 | 2020-10-02 | 北京奇艺世纪科技有限公司 | 人物识别方法、装置、电子设备及存储介质 |
WO2020211624A1 (zh) * | 2019-04-18 | 2020-10-22 | 腾讯科技(深圳)有限公司 | 对象追踪方法、追踪处理方法、相应的装置、电子设备 |
CN113489897A (zh) * | 2021-06-28 | 2021-10-08 | 杭州逗酷软件科技有限公司 | 图像处理方法及相关装置 |
CN114549584A (zh) * | 2022-01-28 | 2022-05-27 | 北京百度网讯科技有限公司 | 信息处理的方法、装置、电子设备及存储介质 |
CN114627519A (zh) * | 2020-12-14 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN114863321A (zh) * | 2022-04-08 | 2022-08-05 | 北京凯利时科技有限公司 | 自动视频生成方法、装置及电子设备和芯片系统 |
CN114943750A (zh) * | 2022-06-06 | 2022-08-26 | 中国第一汽车股份有限公司 | 目标跟踪方法、装置及电子设备 |
CN115205634A (zh) * | 2022-07-26 | 2022-10-18 | 深圳华策辉弘科技有限公司 | 模型训练方法、装置、设备及可读存储介质 |
CN115633255A (zh) * | 2021-08-31 | 2023-01-20 | 荣耀终端有限公司 | 视频处理方法和电子设备 |
-
2023
- 2023-08-09 CN CN202311000823.XA patent/CN117710697A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211624A1 (zh) * | 2019-04-18 | 2020-10-22 | 腾讯科技(深圳)有限公司 | 对象追踪方法、追踪处理方法、相应的装置、电子设备 |
CN111738120A (zh) * | 2020-06-12 | 2020-10-02 | 北京奇艺世纪科技有限公司 | 人物识别方法、装置、电子设备及存储介质 |
CN114627519A (zh) * | 2020-12-14 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN113489897A (zh) * | 2021-06-28 | 2021-10-08 | 杭州逗酷软件科技有限公司 | 图像处理方法及相关装置 |
CN115633255A (zh) * | 2021-08-31 | 2023-01-20 | 荣耀终端有限公司 | 视频处理方法和电子设备 |
WO2023029547A1 (zh) * | 2021-08-31 | 2023-03-09 | 荣耀终端有限公司 | 视频处理方法和电子设备 |
CN114549584A (zh) * | 2022-01-28 | 2022-05-27 | 北京百度网讯科技有限公司 | 信息处理的方法、装置、电子设备及存储介质 |
CN114863321A (zh) * | 2022-04-08 | 2022-08-05 | 北京凯利时科技有限公司 | 自动视频生成方法、装置及电子设备和芯片系统 |
CN114943750A (zh) * | 2022-06-06 | 2022-08-26 | 中国第一汽车股份有限公司 | 目标跟踪方法、装置及电子设备 |
CN115205634A (zh) * | 2022-07-26 | 2022-10-18 | 深圳华策辉弘科技有限公司 | 模型训练方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
任珈民;宫宁生;韩镇阳;: "基于YOLOv3与卡尔曼滤波的多目标跟踪算法", 计算机应用与软件, no. 05, 12 May 2020 (2020-05-12) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021078001A1 (zh) | 一种图像增强方法及装置 | |
CN113538273B (zh) | 图像处理方法及图像处理装置 | |
CN113706414A (zh) | 视频优化模型的训练方法和电子设备 | |
WO2021180046A1 (zh) | 图像留色方法及设备 | |
WO2024011976A1 (zh) | 一种扩展图像动态范围的方法及电子设备 | |
CN114140365B (zh) | 基于事件帧的特征点匹配方法及电子设备 | |
CN113538227B (zh) | 一种基于语义分割的图像处理方法及相关设备 | |
WO2024021742A9 (zh) | 一种注视点估计方法及相关设备 | |
CN113452969A (zh) | 图像处理方法和装置 | |
CN118103809A (zh) | 页面显示方法、电子设备及计算机可读存储介质 | |
CN117201930B (zh) | 一种拍照方法和电子设备 | |
CN116916151B (zh) | 拍摄方法、电子设备和存储介质 | |
CN113891008B (zh) | 一种曝光强度调节方法及相关设备 | |
CN114399622A (zh) | 图像处理方法和相关装置 | |
CN117710697A (zh) | 对象检测方法、电子设备、存储介质及程序产品 | |
CN115580690A (zh) | 图像处理的方法和电子设备 | |
CN116453131B (zh) | 文档图像矫正方法、电子设备及存储介质 | |
CN113518172A (zh) | 图像处理方法和装置 | |
CN117274109B (zh) | 图像处理方法、降噪模型训练方法及电子设备 | |
CN117764853B (zh) | 人脸图像增强方法和电子设备 | |
CN116193275B (zh) | 视频处理方法及相关设备 | |
CN115802144B (zh) | 视频拍摄方法及相关设备 | |
CN117170560B (zh) | 一种图像变换方法、电子设备和存储介质 | |
CN116708996B (zh) | 一种拍照方法、图像优化模型训练方法及电子设备 | |
CN115424118B (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 |