CN112101303B - 一种图像数据处理方法、装置以及计算机可读存储介质 - Google Patents
一种图像数据处理方法、装置以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112101303B CN112101303B CN202011222364.6A CN202011222364A CN112101303B CN 112101303 B CN112101303 B CN 112101303B CN 202011222364 A CN202011222364 A CN 202011222364A CN 112101303 B CN112101303 B CN 112101303B
- Authority
- CN
- China
- Prior art keywords
- target object
- detection
- frame
- target
- image
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种图像数据处理方法、装置以及计算机可读存储介质,该方法包括:基于摄像设备获取有至少两个目标对象的检测图像;至少两个目标对象包括检测目标对象和检测目标对象的辅助目标对象;确定检测目标对象与每个辅助目标对象间的像素距离和每个目标对象针对摄像设备的摄像距离;获取摄像设备得到的历史图像,从历史图像中获取检测目标对象指示的历史对象的历史对象检测框;根据检测目标对象与辅助目标对象间的像素距离、每个目标对象的摄像距离和历史对象检测框,确定针对检测目标对象的目标检测框;根据目标检测框,生成针对检测目标对象的目标对象密度图。采用本申请,可提高所获取到的目标对象密度图的准确性。
Description
技术领域
本申请涉及数据处理的技术领域,尤其涉及一种图像数据处理方法、装置以及计算机可读存储介质。
背景技术
随着计算机网络的不断发展,机器学习渗入到了生活的方方面面。其中,通过机器学习,可以训练出用于对图像进行识别的图像识别模型,该图像识别模型可以用于对图像中人群的密度进行检测,人群的密度可以理解为是人群的数量。
其中,需要通过密度图来训练上述图像识别模型,该密度图也可以称之为热力图,是通过高斯核对原始的样本图像进行卷积得到。可以知道的是,用于对原始的样本图像进行卷积的高斯核,是与样本图像中用户的人头尺寸相关的。一个人头可以对应于一个高斯核,若人头尺寸越大,则对应的高斯核的标准差也就越大。
现有技术中,通常会指定样本图像中的每个人头具有相同的某个固定的人头尺寸,进而通过该固定尺寸可以得到人头对应的固定的高斯核。但是,由于每个人头的尺寸通常是不一样的,因此,若是对每个人头设置相同的高斯核,那么为每个人头设置的高斯核是不准确的,进而导致了通过该高斯核得到的密度图也是不准确的,最终会导致训练得到的图像识别模型的识别精度差。
发明内容
本申请提供了一种图像数据处理方法、装置以及计算机可读存储介质,可提高所获取到的目标对象密度图的准确性。
本申请一方面提供了一种图像数据处理方法,包括:
基于摄像设备获取包括至少两个目标对象的检测图像;至少两个目标对象由检测目标对象和辅助目标对象组成;检测图像中标注有每个目标对象的对象中心位置;
根据每个目标对象的对象中心位置,确定检测目标对象分别与每个辅助目标对象之间的像素距离、以及每个目标对象针对摄像设备的摄像距离;
获取基于摄像设备所得到的历史图像,从历史图像中,获取检测目标对象的对象中心位置所指示的历史对象的历史对象检测框;
根据检测目标对象分别与每个辅助目标对象之间的像素距离、每个目标对象针对摄像设备的摄像距离、以及历史对象检测框,确定针对检测目标对象的目标检测框;
根据目标检测框,生成针对检测目标对象的目标对象密度图。
本申请一方面提供了一种图像数据处理装置,包括:
图像获取模块,用于基于摄像设备获取包括至少两个目标对象的检测图像;至少两个目标对象由检测目标对象和辅助目标对象组成;检测图像中标注有每个目标对象的对象中心位置;
距离确定模块,用于根据每个目标对象的对象中心位置,确定检测目标对象分别与每个辅助目标对象之间的像素距离、以及每个目标对象针对摄像设备的摄像距离;
历史框获取模块,用于获取基于摄像设备所得到的历史图像,从历史图像中,获取检测目标对象的对象中心位置所指示的历史对象的历史对象检测框;
目标框生成模块,用于根据检测目标对象分别与每个辅助目标对象之间的像素距离、每个目标对象针对摄像设备的摄像距离、以及历史对象检测框,生成针对检测目标对象的目标检测框;
密度图生成模块,用于根据目标检测框,生成针对检测目标对象的目标对象密度图。
其中,距离确定模块,包括:
像素距离确定单元,用于获取检测目标对象的对象中心位置分别与每个辅助目标对象的对象中心位置之间的间隔像素数量,根据每个辅助目标对象所属的间隔像素数量,确定检测目标对象分别与每个辅助目标对象之间的像素距离;
摄像距离确定单元,用于根据每个目标对象的对象中心位置,确定每个目标对象在检测图像中的垂直方向距离,根据每个目标对象所属的垂直方向距离,确定每个目标对象针对摄像设备的摄像距离。
其中,历史框获取模块,包括:
历史对象排序单元,用于根据历史图像中至少一个历史对象的对象中心位置分别与检测目标对象的对象中心位置之间的像素距离,对至少一个历史对象进行排序,得到排序后的至少一个历史对象;
历史对象获取单元,用于根据第一对象获取数量,从排序后的至少一个历史对象中,选取参考历史对象;参考历史对象的数量小于或等于第一对象获取数量;
历史框确定单元,用于将历史图像中用于标注参考历史对象的对象检测框,确定为历史对象检测框。
其中,目标框生成模块,包括:
初始框生成单元,用于根据检测目标对象分别与每个辅助目标对象之间的像素距离,生成针对检测目标对象的初始检测框;
过渡框生成单元,用于根据每个目标对象针对摄像设备的摄像距离、以及初始检测框,生成针对检测目标对象的过渡检测框;
目标框生成单元,用于根据历史对象检测框和过渡检测框,生成针对检测目标对象的目标检测框。
其中,初始框生成单元,包括:
第一排序子单元,用于根据检测目标对象分别与每个辅助目标对象之间的像素距离,对至少一个辅助目标对象进行排序,得到排序后的至少一个辅助目标对象;
第一对象获取子单元,用于根据第二对象获取数量,从排序后的至少一个辅助目标对象中,选取第一参考目标对象;第一参考目标对象的数量小于或等于第二对象获取数量;
距离均值获取子单元,用于获取第一参考目标对象与检测目标对象之间的像素距离的距离均值;
初始尺寸获取子单元,用于根据框尺寸加权系数,对距离均值进行加权,得到初始框尺寸;
初始框生成子单元,用于根据初始框尺寸,生成初始检测框。
其中,过渡框生成单元,包括:
第二排序子单元,用于根据检测目标对象所属的摄像距离分别与每个辅助目标对象所属的摄像距离之间的摄像距离差值,对至少一个辅助目标对象进行排序,得到排序后的至少一个辅助目标对象;
第二对象获取子单元,用于根据第三对象获取数量,从排序后的至少一个辅助目标对象中,选取第二参考目标对象;第二参考目标对象的数量小于或等于第三对象获取数量;
尺寸均值获取子单元,用于获取第二参考目标对象所属的对象初始检测框的检测框尺寸均值;
过渡框生成子单元,用于根据第二参考目标对象对应的检测框尺寸均值和初始检测框,生成过渡检测框。
其中,过渡框生成子单元,包括:
第一系数获取子单元,用于获取针对第二参考目标对象对应的检测框尺寸均值的第一尺寸加权系数,获取针对初始检测框的第二尺寸加权系数;
第一加权子单元,用于根据第一尺寸加权系数对第二参考目标对象对应的检测框尺寸均值进行加权,得到第一框尺寸;
第二加权子单元,用于根据第二尺寸加权系数对初始检测框的框尺寸进行加权,得到第二框尺寸;
第一框生成子单元,用于根据第一框尺寸和第二框尺寸,生成过渡检测框。
其中,目标框生成单元,包括:
框均值获取子单元,用于获取历史对象检测框对应的检测框尺寸均值;
第二系数获取子单元,用于获取针对历史对象检测框对应的检测框尺寸均值的第三尺寸加权系数,获取针对过渡检测框的第四尺寸加权系数;
第三加权子单元,用于根据第三尺寸加权系数,对历史对象检测框对应的检测框尺寸均值进行加权,得到第三框尺寸;
第四加权子单元,用于根据第四尺寸加权系数对过渡检测框的框尺寸进行加权,得到第四框尺寸;
第二框生成子单元,用于根据第三框尺寸和第四框尺寸,生成目标检测框。
其中,密度图生成模块,包括:
初始密度图生成单元,用于根据每个目标对象的对象中心位置,生成针对检测图像的初始对象密度图;
高斯核确定单元,用于基于目标检测框确定高斯核标准差,根据高斯核标准差确定针对检测目标对象的目标高斯核;
卷积单元,用于基于目标高斯核对对象初始密度图进行卷积操作,生成针对检测目标对象的目标对象密度图。
其中,初始密度图生成单元,包括:
遍历子单元,用于对检测图像中的至少两个像素点进行遍历,将遍历到的处于每个目标对象的对象中心位置处的像素点的像素值设置为第一像素值,将遍历到的未处于每个目标对象的对象中心位置处的像素点的像素值设置为第二像素值;
密度图生成子单元,用于根据为至少两个像素点所设置的第一像素值和第二像素值,生成初始对象密度图。
其中,目标框生成模块,包括:
第一框生成单元,用于在第x次迭代过程中,根据每个目标对象针对摄像设备的摄像距离、历史对象检测框以及在第x-1次迭代过程中所生成的针对检测目标对象的待定检测框dx-1,生成针对检测目标对象的过渡检测框gx;若第x-1次迭代过程为首次迭代过程,则待定检测框dx-1是基于检测目标对象分别与每个辅助目标对象之间的像素距离得到;
第二框生成单元,用于根据历史对象检测框和过渡检测框gx,生成针对检测目标对象的待定检测框dx;
第一框确定单元,用于当待定检测框dx的框尺寸与待定检测框dx-1的框尺寸之间的尺寸差值小于或等于尺寸差值阈值时,将待定检测框dx确定为目标检测框;
第三框生成单元,用于当待定检测框dx的框尺寸与待定检测框dx-1的框尺寸之间的尺寸差值大于尺寸差值阈值时,在第x+1次迭代过程中,根据每个目标对象针对摄像设备的摄像距离和待定检测框dx,生成针对检测目标对象的过渡检测框gx+1;
第四框生成单元,用于根据历史对象检测框和过渡检测框gx+1,生成针对检测目标对象的待定检测框dx+1;
第二框确定单元,用于当待定检测框dx+1的框尺寸与待定检测框dx的框尺寸之间的尺寸差值小于或等于尺寸差值阈值时,将待定检测框dx+1确定为目标检测框。
其中,上述装置还包括:
模型训练模块,用于基于目标对象密度图训练对象密度检测模型,将训练完成的对象密度检测模型确定为目标检测模型;
输入模块,用于将包括待检测对象的待检测图像输入目标检测模型,在目标检测模型中生成针对待检测对象的对象密度图;
积分模块,用于对对象密度图进行积分操作,得到待检测图像中待检测对象的对象数量。
本申请一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请中一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器执行上述一方面中的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面等各种可选方式中提供的方法。
本申请可以基于摄像设备获取包括至少两个目标对象的检测图像;至少两个目标对象由检测目标对象和辅助目标对象组成;检测图像中标注有每个目标对象的对象中心位置;根据每个目标对象的对象中心位置,确定检测目标对象分别与每个辅助目标对象之间的像素距离、以及每个目标对象针对摄像设备的摄像距离;获取基于摄像设备所得到的历史图像,从历史图像中,获取检测目标对象的对象中心位置所指示的历史对象的历史对象检测框;根据检测目标对象分别与每个辅助目标对象之间的像素距离、每个目标对象针对摄像设备的摄像距离、以及历史对象检测框,生成针对检测目标对象的目标检测框;根据目标检测框,生成针对检测目标对象的目标对象密度图。由此可见,本申请提出的方法可以根据检测目标对象分别与每个辅助目标对象之间的像素距离、每个目标对象针对摄像设备的摄像距离、以及历史对象检测框协同来得到检测目标对象更准确的目标检测框,进而可以通过该更准确的目标检测框生成针对检测目标对象更准确的目标对象密度图。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请提供的一种图像数据处理的场景示意图;
图3是本申请提供的一种图像数据处理方法的流程示意图;
图4是本申请提供的一种获取初始检测框的场景示意图;
图5是本申请提供的一种获取过渡检测框的场景示意图;
图6是本申请提供的一种获取目标检测框的场景示意图;
图7是本申请提供的一种获取密度图的场景示意图;
图8是本申请提供的一种估计框获取方法的流程示意图;
图9是本申请提供的一种图像数据处理装置的结构示意图;
图10是本申请提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及到人工智能相关技术。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请中主要涉及到了人工智能中的机器学习。其中,机器学习(MachineLearning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请中所涉及到的机器学习主要指,如何生成检测图像中的检测目标对象更准确的目标检测框,以通过该更准确的检测框所得到的密度图对对象密度识别模型进行更优的训练,具体可以参见下述图3对应的实施例中的描述。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,网络架构可以包括服务器200和摄像设备集群,摄像设备集群可以包括一个或者多个摄像设备,这里将不对摄像设备的数量进行限制。如图1所示,多个摄像设备具体可以包括摄像设备100a、摄像设备101a、摄像设备102a、…、摄像设备103a;如图1所示,摄像设备100a、摄像设备101a、摄像设备102a、…、摄像设备103a均可以与服务器200进行网络连接,以便于每个摄像设备可以通过网络连接与服务器200之间进行数据交互。或者,每个摄像设备还可以通过连接电线与服务器200进行相互通信。
如图1所示的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视等智能终端。下面以摄像设备100a与服务器200之间的通信为例,进行本申请实施例的具体描述。
请一并参见图2,图2是本申请提供的一种图像数据处理的场景示意图。如图2所示,首先,通过摄像设备100a可以拍摄得到摄像图像100b,摄像设备100b在拍摄得到摄像图像100b之后,可以将该摄像图像100b同步给服务器200,使得服务器200可以对摄像图像100b中用户的人头进行检测,进而通过检测到的用户的人头框可以得到摄像图像100b更准确的密度图,该密度图可以用于对对象密度检测模型进行训练。其中,服务器200可以是通过下述步骤s1、步骤s2以及步骤s3,来检测摄像图像100b中每个用户的人头框,该人头框可以称之为检测框。
需要进行说明的是,当摄像图像100b中包括多个被拍摄下来的用户时,检测摄像图像100b中每个用户的人头框的原理相同,因此,此处以检测摄像图像100b中用户103b的人头框为例进行说明,请参见下述内容描述。
首先,如图2所示,摄像图像100b中包括用户101b、用户103b、用户104b和用户105b。其中,由于在通过摄像设备100a拍摄得到摄像图像100b时,通常对于离摄像设备100b的镜头的距离越近的用户,被拍摄下来时在摄像图像100b中用户的人头会更大。反之,对于离摄像设备100b的镜头的距离越远的用户,被拍摄下来时在摄像图像100b中用户的人头会更小。
因此,在摄像图像100b中,用户101b离摄像设备100a的镜头的距离(可以称之为摄像距离)远于用户103b离摄像设备100a的镜头的距离,因此,用户101b在摄像图像100b中的人头通常要大于用户103b在摄像图像100b中的人头。用户103b离摄像设备100a的镜头的距离基本等于用户104b离摄像设备100a的镜头的距离,因此,用户103b在摄像图像100b中的人头基本等于用户104b在摄像图像100b中的人头。用户103b和用户104b离摄像设备100a的镜头的距离要远于用户105b离摄像设备100a的镜头的距离,因此,用户103b和用户104b在摄像图像100b中的人头通常要大于用户105b在摄像图像100b中的人头。
其中,本申请可以对标注有人头中心点位置的样本图像(该样本图像可以为下述检测图像)中用户的人头框进行检测,因此,上述摄像图像100b可以作为用于对对象密度检测模型进行训练的样本图像,摄像图像100b中可以标注有所包含的每个人头的人头中心点位置,该人头中心点位置可以是人工预先标注好的,或者也可以是通过机器学习(例如人头中心检测模型)预先标注好的。
S1:预估人头框:由于摄像图像100b中可以包括若干个用户的人头,因此,服务器200可以从摄像图像100b中获取到人头中心点位置离用户103b的人头中心点位置最近的几个(具体数量可以自行设置)用户,并可以根据该几个用户的人头中心点位置分别与用户103b的人头中心点位置之间的距离,预估计得到用户103b的一个人头框102b,该人头框102b为预先粗略估计得到的用户103b的人头框。其中,服务器200如何通过人头中心点位置离用户103b的人头中心点位置最近的几个用户,得到用户103b的人头框102b的具体过程可以参见下述图3对应的实施例中的描述。
S2:水平先验约束:由于,在摄像图像100b中处于同一水平线上的用户,可以认为其距离摄像设备100a的镜头的距离是相等的,而通常离摄像设备100a的镜头距离相等的用户,可以认为其在摄像图像100b中的人头的大小是基本相等的。因此,可以通过摄像图像100b中与用户103b处于同一水平线上的用户104b的初始人头框108b,来修正上述得到的用户103b的初始人头框102b。可以知道的是,获取用户104b的初始人头框108b的原理,与获取用户103b的初始人头框102b的原理相同。其中,如何通过与用户103b处于同一水平线上的用户104b的初始人头框108b,来修正上述得到的用户103b的初始人头框102b的具体过程也可以参见下述图3对应的实施例中的描述。通过初始人头框108b来修正初始人头框102b,可以得到用户103b的人头框107b。该人头框107b也就是对初始人头框102b进行修正之后的结果。
S3:由于当摄像设备100a在真实世界中的位置不变时,通过摄像设备100a拍摄得到的多个摄像图像中,处于相同空间位置处的用户的人头,可以认为其大小基本相等。因此,服务器200还可以获取到在拍摄得到上述摄像图像100b之前,摄像设备100a拍摄得到的历史图像106b。因此,服务器200可以从历史图像106b中检测到与用户103b在摄像图像100b中的空间位置最近的几个(具体数量可以自行设置)用户,并可以通过该几个用户在历史图像106b中被标注完成的人头框,来修正上述用户103b的人头框107b。例如,假设上述用户103b在摄像图像100b中的空间位置,与在历史图像106b中区域111b所指示的空间位置相同,那么,服务器200可以通过历史图像106b中,与区域111b之间的位置最近的用户109b被标注的人头框110b、以及用户118b被标注的人头框112b,来修正用户103b的人头框107b。通过修正用户103b的人头框107b,可以得到用户103b最终的人头框113b(该人头框113b可以为下述检测目标对象的目标检测框)。其中,如何通过与区域111b之间的位置最近的用户109b被标注的人头框110b、以及用户118b被标注的人头框112b,来修正用户103b的人头框107b的具体过程,也可以参见下述图3对应的实施例中的描述。
服务器200在得到上述用户103b的人头框113b之后,就可以通过该人头框113b来生成针对用户103b的密度图(又称热力图)114b。实际上,服务器200可以通过与获取针对用户103b的密度图114b(该密度图114b可以为下述检测目标对象的目标对象密度图)同样的方式,获取到上述摄像图像100b中其他每个用户分别对应的密度图,通过对摄像图像100b中每个用户分别对应的密度图进行叠加,即可得到上述摄像图像100b最终的密度图。通过该最终的密度图对对象密度检测模型进行训练,即可得到训练完成的对象密度检测模型115b。该对象密度检测模型115b可以用于对图像中的人群密度进行检测,换句话说,该对对象密度检测模型115b可以用于检测图像中的总人数,该总人数可以通过图像中总的人头数体现。
因此,当存在需要检测人群密度的图像116b时,服务器200可以将该图像116b输入上述对象密度检测模型115b,通过该对象密度检测模型115b即可对图像116b中的人群的人群密度进行检测,并输出图像116b中的人群的人群密度117b,该人群密度117b可以是通过对象密度检测模型115检测得到的图像116b中的总人数比上图像116b所包含的占地面积得到。
通过采用本申请所提供的方法,可以通过摄像图像中与用户103b处于相同或者近似水平线的用户、以及历史图像中与用户103b处于相同或者近似空间距离的用户,来修正用户103b的人头框,以得到用户103b最终的人头框113b。这提高了所获取到的用户103b最终的人头框113b的准确度,进而提高了所获取到的摄像图像100b的密度图的精度。因此,通过摄像图像100b高精度的密度图所训练得到的对象密度检测模型,可以更准确地检测出图像中的人群的人群密度。
请参见图3,图3是本申请提供的一种图像数据处理方法的流程示意图,如图3所示,该方法可以包括:
步骤S101,基于摄像设备获取包括至少两个目标对象的检测图像;至少两个目标对象由检测目标对象和辅助目标对象组成;检测图像中标注有每个目标对象的对象中心位置;
具体的,本申请实施例中的执行主体可以是任意一个计算机设备或者多个计算机设备构成的计算机设备集群,该计算机设备可以是服务器,也可以是终端设备。此处,以本申请实施例中的执行主体为服务器为例进行说明。
上述检测图像可以是通过摄像设备拍摄得到的,该摄像设备可以是任意一个可以用于进行拍摄的设备,例如该摄像设备可以是任意一个相机或者任意一个可以用于拍摄的终端。
该检测图像可以是用于对对象密度检测模型进行训练的样本图像。该检测图像中可以包括多个(至少两个)目标对象,该目标对象可以指被拍摄下来的用户的人头。换句话说,检测图像中可以包括被拍摄下来的多个人头。其中,检测图像中还预先被标注有所包含的每个人头的人头中心点位置,该人头中心点位置可以称之为对象中心位置,因此,可以说为,检测图像中预先标注有每个目标对象的对象中心位置。
因此,可以知道的是,本申请实施例所提供的方法主要描述了如何通过标注有目标对象的对象中心位置的检测图像,生成针对检测图像中每个目标对象最准确的检测框的过程,请参见下述内容描述。
其中,可以将生成的目标对象最终的检测框称之为目标检测框。由于生成检测图像中每个目标对象的目标检测框的原理相同,因此,此处以生成检测图像中的一个目标对象的目标检测框的过程为例进行说明。其中,可以将服务器当前需要生成目标检测框的目标对象作为检测目标对象,该检测目标对象可以是检测图像中的任意一个目标对象,换句话说,检测图像中的任意一个目标对象都可以作为检测目标对象,因此可以理解为,检测目标对象可以有多个,该多个检测目标对象就是检测图像中的多个目标对象。一个检测目标对象有其对应的辅助目标对象,可以将检测图像中,除某个检测目标对象之外的目标对象,称之为该检测目标对象的辅助目标对象,辅助目标对象的数量可以是一个也可以是多个。因此,可以说为检测图像中的多个目标对象是由检测目标对象和辅助目标对象组成。
下述具体说明生成一个检测目标对象的目标检测框的过程。
步骤S102,根据每个目标对象的对象中心位置,确定检测目标对象分别与每个辅助目标对象之间的像素距离、以及每个目标对象针对摄像设备的摄像距离;
具体的,服务器可以根据每个目标对象在检测图像中被标注的对象中心位置,检测得到检测目标对象分别与每个辅助目标对象之间的像素距离:服务器可以检测得到检测目标对象的对象中心位置分别与每个辅助目标对象的对象中心位置之间的间隔像素数量,该间隔像素数量即为检测目标对象的对象中心位置与辅助目标对象的对象中心位置之间所存在的像素点的个数。
服务器可以直接将检测目标对象的对象中心位置分别与每个辅助目标对象的对象中心位置之间的间隔像素数量,作为检测目标对象分别与每个辅助目标对象之间的像素距离。
或者,服务器也可以对每个辅助目标对象所属的间隔像素数量乘以指定系数(该系数的值可以根据实际应用场景进行设置,例如等于0.1)之后,将乘了指定系数的间隔像素数量,作为检测目标对象与对应的辅助目标对象之间的像素距离。该像素距离表征了检测目标对象与辅助目标对象在检测图像中相隔的距离远近,辅助目标对象与检测目标对象之间的像素距离越大,表明该辅助目标对象与检测目标对象在检测图像中的距离越远。反之,辅助目标对象与检测目标对象之间的像素距离越小,表明该辅助目标对象与检测目标对象在检测图像中的距离越近。
其中,服务器还可以根据每个目标对象在检测图像中被标注的对象中心位置,检测得到每个目标对象针对摄像设备的摄像距离:服务器可以获取到每个目标对象在检测图像中的垂直方向距离,作为每个目标对象针对摄像设备的镜头的距离,也就是作为针对摄像设备的摄像距离。
其中,每个目标对象在检测图像中的垂直方向距离,可以指每个目标对象的对象中心位置与检测图像的下边缘的距离。可以知道的是,在通过摄像设备拍摄得到检测图像时,具有相同或者近乎相似的垂直方向距离的目标对象,可以认为是处于同一水平线上的目标对象,而处于检测图像中同一水平线上的目标对象可以认为针对摄像设备的摄像距离是相等。而对于针对摄像设备的摄像距离相等的目标对象之间,该目标对象的对象大小(即人头的人头尺寸)可以认为是近乎相同的。
步骤S103,获取基于摄像设备所得到的历史图像,从历史图像中,获取检测目标对象的对象中心位置所指示的历史对象的历史对象检测框;
具体的,服务器还可以获取到摄像设备拍摄得到的历史图像,该历史图像中也可以包括多个目标对象,可以将历史图像中的目标对象称之为历史对象,该历史图像可以有多个,该历史对象也可以是拍摄下来的用户的人头。该历史图像可以是在开始生成上述检测图像中的检测目标对象的目标检测框之前,通过摄像设备拍摄得到的图像。需要进行说明的是,摄像设备在拍摄得到检测图像和历史图像时,摄像设备在真实世界中的位置可以是相同,并且摄像设备的相机参数也可以是相同的,这样就可以保证在拍摄得到检测图像与历史图像时,检测图像和历史图像中的真实场景可以是相同的,并且摄像设备针对该真实场景的拍摄距离也是相同的。
可以知道的是,由于上述检测图像和历史图像是通过同一摄像设备在不同时间所拍摄的,因此,在历史图像中与检测图像的检测目标对象具有相近的空间位置的历史对象的对象大小,可以认为也是近乎相等的。换句话说,在检测图像中所拍摄得到的真实场景中的每个位置(可以称为空间位置),在历史图像中都可以找到对应相同的位置。
因此,检测目标对象在检测图像中的对象中心位置,对应的在历史图像中也可以找到对应相同的位置,可以将历史图像中与检测目标对象在检测图像中的对象中心位置对应相同的位置称之为对应位置,该对应位置表征检测目标对象在历史图像中的对象中心位置。但是可以理解的是,历史图像中不存在检测目标对象。其中,历史图像中也可以标注有每个历史对象的对象中心位置,可以认为在历史图像中,具有相同或者相似的对象中心位置的历史对象的对象大小也是近乎相等的。
因此,可以认为,在历史图像中与检测目标对象的对应位置之间的像素距离越近的对象中心位置所属的历史对象的对象大小,与检测目标对象的对象大小是近乎相等的。其中,历史对象与检测目标对象之间的像素距离,也可以是历史图像中,历史对象的对象中心位置与检测目标对象的对应位置之间的间隔像素数量,或者是该间隔像素数量乘以某一系数(可以自行设置,例如等于0.3)后的值。可以将该历史对象与检测目标对象之间的像素距离,称之为历史对象的对象中心位置与检测目标对象的对象中心位置之间的像素距离。
其中,上述历史对象可以有一个或者是有多个。可以根据检测目标对象与每个历史对象之间的像素距离的大小,对每个历史对象进行排序,得到排序后的每个历史对象。排序后的每个历史对象可以是按照对应的像素距离由小到大进行排列的。
服务器可以根据第一对象获取数量,在排序后的每个历史对象中,选取参考历史对象。该第一对象获取数量为需要获取的参考历史对象的最大的数量,即获取的参考历史对象的数量小于或者等于该第一对象获取数量,该第一对象获取数量的值可以根据实际应用场景自行设置。参考目标对象为排序后的每个历史对象中,位置靠前的历史对象。例如,若第一对象获取数量为3,则可以获取排序后的历史对象中,排序最靠前的3个历史对象作为参考历史对象。若历史对象的数量小于3,则可以将所有历史对象作为参考历史对象,此时参考历史对象的数量是小于第一对象获取数量的。
换句话说,可以从历史图像中,获取与检测目标对象的对象中心位置之间的像素距离最近的多个历史对象,作为参考目标对象,该参考目标对象的数量小于或者等于上述第一对象获取数量。即可以从历史图像中,获取与检测目标对象具有最相近的空间位置的多个历史对象,作为参考目标对象。
需要知道的是,历史图像中的每个历史对象已经被标注了对应的检测框(即人头框),历史图像中被标注的检测框可以是通过本申请中所描述的生成检测目标对象的目标检测框的方法进行标注的。可以将历史图像中为每个历史对象所标注的检测框,称之为用于标注每个历史对象的对象检测框。
因此,可以将上述参考历史对象作为检测目标对象的对象中心位置所指示的历史对象,可以将历史图像中用于标注参考历史对象的对象检测框,作为检测目标对象的对象中心位置所指示的历史对象的历史对象检测框。
步骤S104,根据检测目标对象分别与每个辅助目标对象之间的像素距离、每个目标对象针对摄像设备的摄像距离、以及历史对象检测框,确定针对检测目标对象的目标检测框;
具体的,服务器可以根据检测目标对象分别与每个辅助目标对象之间的像素距离,生成针对检测目标对象的初始检测框;根据每个目标对象针对摄像设备的摄像距离、以及初始检测框,生成针对检测目标对象的过渡检测框;根据历史对象检测框和过渡检测框,生成针对检测目标对象的目标检测框:
首先,描述服务器如何根据检测目标对象分别与每个辅助目标对象之间的像素距离,生成针对检测目标对象的初始检测框:
服务器可以根据检测目标对象分别与每个辅助目标对象之间的像素距离的大小,对每个辅助目标对象进行排序,得到排序后的辅助目标对象。排序后的每个辅助目标对象可以是按照与检测目标对象之间的像素距离由小到大进行排列的。
服务器可以通过第二对象获取数量,从排序后的辅助目标对象中,获取第一参考目标对象。该第二对象获取数量为可以获取的第一参考目标对象的最大数量,该第二对象获取数量可以根据实际应用场景进行设置,因此,该第一参考目标对象的数量可以小于或者等于第二对象获取数量。
该第一参考目标对象可以是排序后的辅助目标对象中位置最靠前的多个辅助目标对象。例如,当第二对象获取数量等于5,则第一参考目标对象可以是排序后的辅助目标对象中的排序最开始的5个辅助目标对象。若辅助目标对象的数量小于5时,则第一参考目标对象可以是所有的辅助目标对象,此时第一参考目标对象的数量就小于第二对象获取数量。
换句话说,第一参考目标对象可以是与检测目标对象之间具有最小像素距离的多个辅助目标对象,第一参考目标对象的数量可以小于或者等于第二对象获取数量。
服务器可以获取到上述第一参考目标对象与检测目标对象之间的像素距离的距离均值。例如,存在3个第一参考目标对象,该3个第一参考目标对象包括目标对象1、目标对象2和目标对象3。其中,目标对象1与检测目标对象之间的像素距离为2,目标对象2与检测目标对象之间的像素距离为4,目标对象3与检测目标对象之间的像素距离为3,则第一参考目标对象与检测目标对象之间的像素距离的距离均值就等于(2+4+3)/3,即等于3。
服务器还可以通过一个尺寸加权系数,对第一参考目标对象与检测目标对象之间的像素距离的距离均值进行加权,得到一个值,可以将该值称之为初始框尺寸。该初始框尺寸即可以为需要生成的检测目标对象的初始检测框的边长,该初始检测框可以是正方形的框。服务器可以通过该初始框尺寸即可生成针对检测目标对象的初始检测框,该初始检测框的框中心位置可以为检测目标对象在检测图像中的对象中心位置。其中,上述尺寸加权系数为常数项,可以根据实际应用场景自行进行设置,例如该尺寸加权系数可以等于0.3。
请参见图4,图4是本申请提供的一种获取初始检测框的场景示意图。如图4所示,在检测图像100c中包括目标对象101c、目标对象104c、目标对象106c、目标对象107c和目标对象110c。目标对象101c的对象中心位置为位置102c,目标对象104c的对象中心位置为位置103c,目标对象106c的对象中心位置为位置105c,目标对象107c的对象中心位置为位置108c,目标对象110c的对象中心位置为位置109c。
其中,可以将上述目标对象106c作为检测目标对象,因此,目标对象101c、目标对象104c、目标对象107c和目标对象110c为检测目标对象106c的辅助目标对象。
上述第一对象获取数量可以等于3,因此,假设所有辅助目标对象的对象中心位置中,辅助目标对象101c的对象中心位置102c、辅助目标对象104c的对象中心位置103c以及辅助目标对象107c的对象中心位置108c,是与检测目标对象106c的对象中心位置105c之间的像素距离最小的3个位置,那么,可以将辅助目标对象101c、辅助目标对象104c和辅助目标对象107c,作为上述第一参考目标对象。
辅助目标对象101c的对象中心位置102c与检测目标对象106c的对象中心位置105c之间的像素距离为像素距离L2,辅助目标对象104c的对象中心位置103c与检测目标对象106c的对象中心位置105c之间的像素距离为像素距离L1,辅助目标对象107c的对象中心位置108c与检测目标对象106c的对象中心位置105c之间的像素距离为像素距离L3。
因此,如区域111c所示:可以将上述像素距离L1、像素距离L2和像素距离L3的均值,作为上述第一参考目标对象与检测目标对象之间的像素距离的距离均值,即该距离均值等于(L1+L2+L3)/3。
服务器可以将尺寸加权系数与该距离均值之间的乘积,作为上述初始框尺寸,该初始框尺寸即为检测目标对象的初始检测框。通过该初始框尺寸即可生成检测目标对象的初始检测框。
接着,描述服务器如何通过每个目标对象针对摄像设备的设备距离,来修正上述所得到的检测目标对象的初始检测框,以得到检测目标对象的过渡检测框的过程,此过程可以称之为对检测目标对象的初始检测框施加水平先验约束的过程(因为此过程是基于处于同一水平线的目标对象的对象大小是近乎相等的原理所实现的):
服务器可以根据检测目标对象所属的摄像距离分别与每个辅助目标对象所属的摄像距离之间的差值(可以称为摄像距离差值),对每个辅助目标对象进行排序,得到排序后的辅助目标对象。此处排序后的每个辅助目标对象可以是按照对应的摄像距离差值由小到大进行排列的。
服务器可以通过第三对象获取数量,从排序后的辅助目标对象中,获取第二参考目标对象。该第三对象获取数量为可以获取的第二参考目标对象的最大数量,该第三对象获取数量可以根据实际应用场景进行设置,因此,该第二参考目标对象的数量可以小于或者等于第三对象获取数量。
该第二参考目标对象可以是排序后的辅助目标对象中位置最靠前的多个辅助目标对象。例如,当第三对象获取数量等于3,则第二参考目标对象可以是排序后的辅助目标对象中的排序最前面的3个辅助目标对象。若辅助目标对象的数量小于3时,则第二参考目标对象可以是所有的辅助目标对象,此时第二参考目标对象的数量就小于第三对象获取数量。
换句话说,第二参考目标对象可以是与检测目标对象之间具有最小摄像距离差值的多个辅助目标对象,第二参考目标对象的数量可以小于或者等于第三对象获取数量。因为,与检测目标对象之间具有越小的摄像距离差值的辅助目标对象,可以认为该辅助目标对象与检测目标对象在检测图像中是越趋近于处于同一水平线的。
服务器可以获取第二参考目标对象所属的对象初始检测框的检测框尺寸均值,第二参考目标对象所属的对象初始检测框的获取方式,可以与上述检测目标对象的初始检测框的获取方式一致。由于目标对象的检测框可以是正方形的检测框,因此,第二参考目标对象所属的对象初始检测框的检测框尺寸均值,可以是第二参考目标对象所属的对象初始检测框的边长的均值。
例如,若存在3个第二参考目标对象,该3个第二参考目标对象包括目标对象1、目标对象2和目标对象3。其中,目标对象1的对象初始检测框的边长可以是2,目标对象2的对象初始检测框的边长可以是3,目标对象3的对象初始检测框的边长可以是4,则第二参考目标对象所属的对象初始检测框的检测框尺寸均值就可以等于(2+3+4)/3,即等于3。
服务器可以根据第二参考目标对象对应的检测框尺寸均值和检测目标对象的初始检测框,生成过渡检测框:
服务器可以获取到针对上述第二参考目标对象对应的检测框尺寸均值的权重值,可以将该权重值称之为第一尺寸加权系数。并且,服务器还可以获取到针对检测目标对象的初始检测框的权重值,可以将该权重值称之为第二尺寸加权系数。
其中,上述第一尺寸加权系数和第二尺寸加权系数均可以为0到1之间的数值,该第一尺寸加权系数和第二尺寸加权系数之和可以等于1,第一尺寸加权系数和第二尺寸加权系数的具体取值可以根据实际应用场景进行设置,对此不作限制。例如,第一尺寸加权系数可以等于0.3,第二尺寸加权系数可以等于0.7。
服务器可以通过上述第一尺寸加权系数,对第二参考目标对象对应的检测框尺寸均值进行加权,得到一个值,可以将该值称之为第一框尺寸。即该第一框尺寸可以等于第一尺寸加权系数与第二参考目标对象对应的检测框尺寸均值之间的乘积。
服务器还可以通过上述第二尺寸加权系数,对检测目标对象的初始检测框的框尺寸(可以是检测目标对象的初始检测框的边长)进行加权,得到一个值,可以将该值称之为第二框尺寸。即第二框尺寸可以等于第二尺寸加权系数与检测目标对象的初始检测框的边长之间的乘积。
服务器可以根据上述第一框尺寸和第二框尺寸,来生成检测目标对象的过渡检测框。服务器可以将该第一框尺寸和第二框尺寸之和,作为检测目标对象的过渡检测框的边长,因此通过该第一框尺寸和第二框尺寸之和即可生成检测目标对象的过渡检测框。检测目标对象的过渡检测框的中心位置就可以为检测目标对象在检测图像中的对象中心位置。
请参见图5,图5是本申请提供的一种获取过渡检测框的场景示意图。如图5所示,检测图像100d中包括目标对象101d、目标对象102d、目标对象103d、目标对象104d、目标对象105d、目标对象106d、目标对象107d、目标对象108d、目标对象109d和目标对象110d。
如图5所示,由于目标对象101d和目标对象102d处于近似的水平线上,因此,目标对象101d和目标对象102d的对象大小近似相等。由于目标对象103d、目标对象104d和目标对象105d处于近似的水平线上,因此目标对象103d、目标对象104d和目标对象105d的对象大小近似相等。
同样,目标对象106d的摄像距离L4、目标对象107d的摄像距离L5、目标对象108d的摄像距离L6和目标对象109d的摄像距离L7近似相等,因此目标对象106d、目标对象107d、目标对象108d和目标对象109d处于近似的水平线上,目标对象106d、目标对象107d、目标对象108d和目标对象109d的对象大小近似相等。由于目标对象110d、目标对象111d和目标对象112d处于近似的水平线上,因此目标对象110d、目标对象111d和目标对象112d的对象大小近似相等。
因此,当将目标对象108d作为检测目标对象时,检测图像100d中除检测目标对象108d之外的目标对象,包括目标对象101d、目标对象102d、目标对象103d、目标对象104d、目标对象105d、目标对象106d、目标对象107d、目标对象109d和目标对象110d,均为检测目标对象108d的辅助目标对象。
上述第三对象获取数量可以等于3,因此,可以将检测图像100d中与检测目标对象108d的摄像距离L6之间的摄像距离差值最小的摄像距离所属的3个辅助目标对象,作为上述第二参考目标对象。此处与检测目标对象108d的摄像距离L6之间的摄像距离最近的3个辅助目标对象与检测目标对象108d的摄像距离L6之间的摄像距离差值最小的摄像距离所属的3个辅助目标对象,就可以包括与检测目标对象处于近似相同的水平线上的辅助目标对象106d、辅助目标对象107d和辅助目标对象109d(如区域113d所示)。
进而,服务器即可根据上述第二参考目标对象对上述得到的检测目标对象的初始检测框进行修正,以生成检测目标对象的过渡检测框(如区域114d所示)。生成检测目标对象的过渡检测框的具体过程可以参见上面所描述的内容。
接着,描述服务器如何通过上述历史对象检测框,来修正检测目标对象的过渡检测框,以得到检测目标对象的目标检测框的过程,此过程可以称之为对检测目标对象的过渡检测框施加时序先验约束的过程(因为此过程是基于不同时间拍摄到的图像中,处于相同空间位置的目标对象的对象大小是近乎相等的原理所实现的):
上述历史对象检测框可以有多个,服务器可以获取到该多个历史对象检测框对应的检测框尺寸均值。由于历史对象检测框可以是正方形的检测框,因此,服务器可以将该多个历史对象检测框的边长的均值,作为该多个历史对象检测框对应的检测框尺寸均值。
例如,若存在3个历史对象检测框,该3个历史对象检测框包括历史对象检测框1、历史对象检测框2和历史对象检测框3。其中,历史对象检测框1的边长可以是2,历史对象检测框2的边长可以是3,历史对象检测框3的边长可以是4,则历史对象检测框对应的检测框尺寸均值就可以等于(2+3+4)/3,即等于3。
服务器可以获取到针对上述历史对象检测框对应的检测框尺寸均值的权重值,可以将该权重值称之为第三尺寸加权系数。并且,服务器还可以获取到针对检测目标对象的过渡检测框的权重值,可以将该权重值称之为第四尺寸加权系数。
其中,上述第三尺寸加权系数和第四尺寸加权系数均可以为0到1之间的数值,该第三尺寸加权系数和第四尺寸加权系数之和可以等于1,第三尺寸加权系数和第四尺寸加权系数的具体取值,可以根据实际应用场景进行设置,对此不作限制。例如,第三尺寸加权系数可以等于0.2,第四尺寸加权系数可以等于0.8。
服务器可以通过上述第三尺寸加权系数,对历史对象检测框对应的检测框尺寸均值进行加权,得到一个值,可以将该值称之为第三框尺寸。即该第三框尺寸可以等于第三尺寸加权系数与历史对象检测框对应的检测框尺寸均值之间的乘积。
服务器还可以通过上述第四尺寸加权系数,对检测目标对象的过渡检测框的框尺寸(可以是检测目标对象的过渡检测框的边长)进行加权,得到一个值,可以将该值称之为第四框尺寸。即第四框尺寸可以等于第四尺寸加权系数与检测目标对象的过渡检测框的边长之间的乘积。
服务器可以根据上述第三框尺寸和第四框尺寸,来生成检测目标对象的目标检测框。服务器可以将该第三框尺寸和第四框尺寸之和,作为检测目标对象的目标检测框的边长,因此通过该第三框尺寸和第四框尺寸之和即可生成检测目标对象的目标检测框。检测目标对象的目标检测框的中心位置就可以为检测目标对象在检测图像中的对象中心位置。
请参见图6,图6是本申请提供的一种获取目标检测框的场景示意图。如图6所示,历史图像100e中包括历史对象102e、历史对象104e、历史对象105e和历史对象108e。其中,历史图像100e中的图像位置107e可以是检测目标对象在历史图像中的对应位置。
当上述第一对象获取数量等于3时,服务器可以将与检测目标对象的对应位置107e之间的空间距离最小的3个历史对象,作为上述参考历史对象。如图6所示,历史图像100e中与检测目标对象的对应位置107e之间的空间距离最小的3个历史对象包括历史对象102e、历史对象104e和历史对象105e。即参考历史对象包括历史对象102e、历史对象104e和历史对象105e(如区域109e所示)。
服务器可以根据该参考历史对象以及上述检测目标对象的过渡检测框,生成检测目标对象的目标检测框(如区域110e所示)。生成检测目标对象的目标检测框的具体过程可以参见上面的描述。
可选的,服务器还可以对上述所获取到的检测目标对象的目标检测框进行迭代修正,以得到检测目标对象最终更准确的目标检测框,其中,对目标检测框进行迭代修正主要是对上述水平先验约束的过程以及时序先验约束的过程进行迭代:
服务器可以将上述对过渡检测框进行修正以得到的检测目标对象的目标检测框,作为检测目标对象的待定检测框,该待定检测框相当于上述初始检测框,即可以将此时得到的目标检测框重新作为检测目标对象的上述初始检测框,并可以再次通过上述第一参考目标对象和第二参考目标对象,对此时的初始检测框(即待定检测框)再次以同样的原理进行修正,以得到检测目标对象最终的目标检测框。请参见下述内容描述:
可以理解为,通过上述检测目标对象的初始检测框得到过渡检测框,再通过过渡检测框得到检测目标对象的目标检测框的过程,为针对检测目标对象的目标检测框的第一次迭代过程(即首次迭代过程),可以将此时检测目标对象的目标检测框,记为检测目标对象的待定检测框d1,可以将第一次迭代过程中检测目标对象的上述过渡检测框,记为检测目标对象的过渡检测框g1:
在第二次迭代过程中,服务器还可以通过检测目标对象的待定检测框d1、上述第二参考目标对象,得到在第二次迭代过程中所生成的检测目标对象的过渡检测框,可以将第二次迭代过程中检测目标对象的过渡检测框,记为检测目标对象的过渡检测框g2。此为第二次对上述水平先验约束的过程进行迭代的过程。
其中,服务器通过检测目标对象的待定检测框d1、以及第二参考目标对象得到检测目标对象的过渡检测框g2的过程,与服务器通过上述检测目标对象的初始检测框、以及第二参考目标对象得到检测目标对象的过渡检测框记为g1的过程相同,该过程中就是将运算时所用到的检测目标对象的初始检测框替换为了检测目标对象的待定检测框d1,并且此过程中运算时所用到的第二参考目标对象的对象初始检测框,也可以替换为第二参考目标对象的待定检测框d1。其中,第二参考目标对象的待定检测框d1的获取方式,与检测目标对象的待定检测框d1的获取方式相同。
接着,服务器还可以通过检测目标对象的过渡检测框g2、以及上述历史对象检测框,得到在第二次迭代过程中所生成的检测目标对象的待定检测框,可以理解为该待定检测框为第二次迭代过程中所生成的检测目标对象的目标检测框,可以将该待定检测框记为检测目标对象的待定检测框d2。服务器通过检测目标对象的上述过渡检测框g2、以及上述历史对象检测框,得到在第二次迭代过程中所生成的检测目标对象的待定检测框d2的过程,与上述通过检测目标对象的上述过渡检测框g1、以及上述历史对象检测框,得到在第一次迭代过程中所生成的检测目标对象的待定检测框d1的过程相同,只是运算时将检测目标对象的过渡检测框g1替换为了检测目标对象的过渡检测框g2。此为第二次对上述时序先验约束的过程进行迭代的过程。
其中,可以设定迭代的阈值次数,该阈值次数表明需要对检测目标对象的目标检测框进行迭代的次数。例如,该阈值次数可以为2,那么就可以将上述检测目标对象的待定检测框d2直接作为检测目标对象最终的目标检测框。
或者,可以对比当前迭代过程中得到的检测目标对象的待定检测框(例如上述待定检测框d2),与前一次迭代过程中得到的检测目标对象的待定检测框例如上述待定检测框d1)之间的大小,来判断当前迭代过程中得到的检测目标对象的待定检测框是否稳定,若稳定,则可以将当前迭代过程中得到的检测目标对象的待定检测框作为检测目标对象最终的目标检测框,若不稳定,则再继续进行迭代。
其中,检测目标对象的待定检测框可以是正方形的,若当前迭代过程中得到的检测目标对象的待定检测框的边长与前一次迭代过程中得到的检测目标对象的待定检测框的边长之间的差值小于或者等于尺寸差值阈值(数值可以自行设置),则可以认为当前迭代过程中得到的检测目标对象的待定检测框已经稳定。反之,若当前迭代过程中得到的检测目标对象的待定检测框的边长与前一次迭代过程中得到的检测目标对象的待定检测框的边长之间的差值大于该尺寸差值阈值,则可以认为当前迭代过程中得到的检测目标对象的待定检测框还不稳定,则可以继续进行下一次迭代,直到得到检测目标对象稳定的待定检测框,就可以将该稳定的待定检测框作为检测目标对象最终的目标检测框。
为了更好理解方案,此处再描述一下对检测目标对象的目标检测框进行第三次迭代的过程:服务器可以通过上述得到的检测目标对象的待定检测框d2、以及上述第二参考目标对象,得到在第三次迭代过程中所生成的检测目标对象的过渡检测框,可以将第三次迭代过程中检测目标对象的过渡检测框,记为检测目标对象的过渡检测框g3。此为第三次对上述水平先验约束的过程进行迭代的过程。
其中,服务器通过检测目标对象的待定检测框d2、以及第二参考目标对象得到检测目标对象的过渡检测框g3的过程,与服务器通过上述检测目标对象的初始检测框、以及第二参考目标对象得到检测目标对象的过渡检测框记为g1的过程相同,该过程中就是将运算时所用到的检测目标对象的初始检测框替换为了检测目标对象的待定检测框d2,并且此过程中运算时所用到的第二参考目标对象的对象初始检测框,也可以替换为第二参考目标对象的待定检测框d2。其中,第二参考目标对象的待定检测框d2的获取方式,与检测目标对象的待定检测框d2的获取方式相同。
接着,服务器还可以通过检测目标对象的过渡检测框g3、以及上述历史对象检测框,得到在第三次迭代过程中所生成的检测目标对象的待定检测框,可以理解为该待定检测框为第三次迭代过程中所生成的检测目标对象的目标检测框,可以将该待定检测框记为检测目标对象的待定检测框d3。服务器通过检测目标对象的上述过渡检测框g3、以及上述历史对象检测框,得到在第三次迭代过程中所生成的检测目标对象的待定检测框d3的过程,与上述通过检测目标对象的上述过渡检测框g1、以及上述历史对象检测框,得到在第一次迭代过程中所生成的检测目标对象的待定检测框d1的过程相同,只是运算时将检测目标对象的过渡检测框g1替换为了检测目标对象的过渡检测框g3。此为第三次对上述时序先验约束的过程进行迭代的过程。
其中,还可以将上述对检测目标对象的目标检测框进行迭代的过程整理为下面的描述:
在第x(x为正整数)次迭代过程中,服务器可以根据每个目标对象针对摄像设备的摄像距离(通过该摄像距离可以得到上述第二参考目标对象)、历史对象检测框以及在第x-1次迭代过程中所生成的针对检测目标对象的待定检测框dx-1(d后面的数值表示对应的迭代次数,此处为第x-1次迭代),生成针对检测目标对象的过渡检测框gx(g后面的数值表示对应的迭代次数,此处为第x次迭代);其中,若第x-1次迭代过程为首次迭代过程(即上述第一次迭代过程),则检测目标对象的待定检测框dx-1是通过上述检测目标对象分别与每个辅助目标对象之间的像素距离得到,即第1次迭代过程中的待定检测框d1是通过上述检测目标对象的初始检测框得到。
接着,服务器可以根据上述历史对象检测框和过渡检测框gx,生成针对检测目标对象的待定检测框dx。
当待定检测框dx的框尺寸与待定检测框dx-1的框尺寸之间的尺寸差值小于或者等于尺寸差值阈值时,可以认为待定检测框dx已经稳定,可以将待定检测框dx作为检测目标对象最终的目标检测框。
当待定检测框dx的框尺寸与待定检测框dx-1的框尺寸之间的尺寸差值大于尺寸差值阈值时,在第x+1次迭代过程中,服务器可以根据每个目标对象针对摄像设备的摄像距离(即根据第二参考目标对象)和待定检测框dx,生成针对检测目标对象的过渡检测框gx+1。
服务器可以根据历史对象检测框和过渡检测框gx+1,生成针对检测目标对象的待定检测框dx+1;
当待定检测框dx+1的框尺寸与待定检测框dx的框尺寸之间的尺寸差值小于或等于上述尺寸差值阈值时,认为待定检测框dx+1已经稳定,可以将待定检测框dx+1作为检测目标对象最终的目标检测框。
若当待定检测框dx+1的框尺寸与待定检测框dx的框尺寸之间的尺寸差值大于上述尺寸差值阈值时,则认为待定检测框dx+1还不稳定,还需要对待定检测框dx+1继续进行下一次的迭代过程。
步骤S105,根据目标检测框,生成针对检测目标对象的目标对象密度图;
具体的,服务器得到上述检测目标对象最终的目标检测框之后,可以通过该目标检测框来确定一个高斯核标准差。其中,检测目标对象的目标检测框越小,表明检测目标对象在检测图像中对其对象中心位置周围的像素的密度值影响越小,此时需要一个具有越小标准差的高斯核。反之,检测目标对象的目标检测框越大,表明检测目标对象在检测图像中对其对象中心位置周围的像素的密度值影响越大,此时需要一个具有越大标准差的高斯核。
因此,可以理解的是,检测目标对象的目标检测框的尺寸大小,总是与检测目标对象对应的高斯核的标准差成正比的。检测目标对象的目标检测框的尺寸越大,对应的高斯核的标准差就越大,检测目标对象的目标检测框的尺寸越小,对应的高斯核的标准差就越小。可以将具有通过上述目标检测框确定的高斯核标准差的高斯核,称之为检测目标对象的目标高斯核。该目标高斯核是归一化的高斯核。
换句话说,服务器可以根据检测目标对象的目标检测框的尺寸大小,来设定其对应的目标高斯核的标准差的大小,检测目标对象的目标检测框的尺寸越大,则可以设定标准差更大的目标高斯核,以通过该目标高斯核更准确覆盖检测目标对象的目标检测框的范围,对检测目标对象的目标检测框中像素进行卷积,以得到更准确地密度图,请参见下述内容描述。
其中,目标检测框可以是正方形的,上述目标检测框的尺寸可以是目标检测框的边长,因此,可以将目标检测框的边长乘以某个系数(为常数,具体数值可以根据实际应用场景决定,例如为0.3)后得到的值,作为目标高斯核的标准差的值。
服务器还可以根据检测图像中每个目标对象的对象中心位置,生成针对检测图像的初始对象密度图:服务器可以遍历检测图像中的每个像素点,并将遍历到的目标对象的对象中心位置处的像素点的像素值设置为1(可以将该“1”称之为第一像素值),将遍历到的不是目标对象的对象中心位置处的像素点的像素值设置为0(可以将该“0”称之为第二像素值)。因此,服务器可以根据为遍历到的检测图像中每个像素点所设置的第一像素值或者第二像素值,即可生成上述初始对象密度图,该初始对象密度图与检测图像具有相同的尺寸。
继而,服务器就可以通过上述检测目标对象归一化的目标高斯核,对该初始对象密度图进行卷积操作,即可生成针对检测目标对象的密度图,可以将该密度图称之为检测目标对象的目标对象密度图。其中,密度图又可以称为热力图,是通过密度函数进行可视化的密度的热图,通过检测目标对象的热力图,可以直观查看到检测目标对象在检测图像中的分布密度。
请参见图7,图7是本申请提供的一种获取密度图的场景示意图。如图7所示,服务器可以通过检测目标对象的目标检测框100f,得到目标高斯核101f。
服务器可以对检测图像102f中的每个像素点进行遍历,并将遍历到的处于目标对象的对象中心位置处的像素点的像素值设置为1,将遍历到的未处于目标对象的对象中心位置处的像素点的像素值设置为0,以生成检测图像的初始对象密度图103f。
检测图像102f中包括9个像素点,该9个像素点分别为像素点①、像素点②、像素点③、像素点④、像素点⑤、像素点⑥、像素点⑦、像素点⑧和像素点⑨。其中,像素点③、像素点⑤和像素点⑨处于目标对象的对象中心位置,因此,初始对象密度图103f中,像素点③对应的第1行第3列位置处的像素点的像素值、像素点⑤对应的第2行第2列位置处的像素点的像素值、和像素点⑨对应的第3行第3列位置处的像素点的像素值,均为1(即第一像素值)。
像素点①、像素点②、像素点④、像素点⑥、像素点⑦和像素点⑧不处于目标对象的对象中心位置,因此,初始对象密度图103f中,像素点①对应的第1行第1列位置处的像素点的像素值、像素点②对应的第1行第2列位置处的像素点的像素值、像素点④对应的第2行第1列位置处的像素点的像素值、像素点⑥对应的第2行第3列位置处的像素点的像素值、像素点⑦对应的第3行第1列位置处的像素点的像素值、和像素点⑧对应的第3行第2列位置处的像素点的像素值,均为0(即第二像素值)。
因此,服务器可以通过上述目标高斯核101f对初始对象密度图103f进行卷积操作,即可得到针对检测目标对象的目标对象密度图104f。服务器可以通过获取检测目标对象的目标对象密度图104f的方法,获取到检测图像102f中每个目标对象的目标对象密度图。
其中,可以理解的是,如果直接让模型(例如对象密度检测模型)对上述初始对象密度图进行学习,那么模型学习的难度会非常大,因为模型只能学习将目标对象的对象中心位置处的像素点的像素值预测为1,将其他位置的像素点的像素值全部预测为0,这是非常困难的。因此,通过目标高斯核对初始对象密度图进行卷积得到目标对象密度图之后,在目标对象密度图中就不仅仅只有目标对象的对象中心位置处的像素点的像素值为1,检测目标对象的对象中心位置周围处的像素点的像素值也可以不为0(具体的像素值要根据采用的目标高斯核决定)。目标对象密度图中,越靠近检测目标对象的对象中心位置处的像素点的像素值越大,越远离检测目标对象的对象中心位置处的像素点的像素值越小。因此,通过目标对象密度图来训练模型,这可以大大降低了模型学习的难度。
并且,由于上述目标高斯核是归一化的,因此,对通过目标高斯核卷积得到的目标对象密度图进行积分,同样可以得到1,该1表示检测目标对象的数量为1,即检测目标对象表示1个人头数。
更多的,服务器可以通过与获取检测目标对象的目标对象密度图同样的方式,获取到检测图像中每个目标对象对应的目标对象密度图。每个目标对象对应的目标对象密度图的大小是一样的。服务器可以对每个目标对象对应的目标对象密度图进行叠加,即可得到检测图像对应的密度图。其中,对每个目标对象对应的目标对象密度图进行叠加的方式,可以是将每个目标对象对应的目标对象密度图中相同像素点位置处的像素值相加。例如目标对象可以包括目标对象1和目标对象2,那么可以将目标对象1的目标对象密度图中第1行第1排处的像素点的像素值,加上目标对象2的目标对象密度图中第1行第1排处的像素点的像素值,即可得到检测图像对应的密度图中第1行第1排处的像素点的像素值。
服务器可以通过上述得到的检测图像的密度图,对对象密度检测模型进行训练,其中,检测图像的数量也可以有多个。可以将通过检测图像的密度图训练完成的对象密度检测模型,称之为目标检测模型。该目标检测模型可以用于对图像中的对象的对象密度进行检测。
例如,若需要检测待检测图像中的待检测对象(可以是用户的人头)的对象密度,那么,可以将该待检测图像输入目标检测模型中,通过该目标检测模型可以生成针对待检测对象的对象密度图。该对象密度图可以是待检测图像的密度图,因此,通过对该对象密度图进行积分操作,即可得到待检测图像中待检测对象的对象数量(即待检测图像中的人头数)。通过用该对象数量比上待检测图像中所拍摄的真实场景的面积,即可得到待检测图像中的待检测对象的对象密度。
由此可见,本申请提出的方法可以根据检测目标对象分别与每个辅助目标对象之间的像素距离、每个目标对象针对摄像设备的摄像距离、以及历史对象检测框协同来得到检测目标对象更准确的目标检测框,进而可以通过该更准确的目标检测框生成针对检测目标对象更准确的目标对象密度图,通过该目标对象密度图可以训练得到模型精度更高的目标检测模型。
请参见图8,图8是本申请提供的一种估计框获取方法的流程示意图。如图8所示,该方法可以包括:
步骤S201,输入图像和所有人头中心点;
具体的,该图像可以指上述检测图像,该人头中心点可以指检测图像中对目标对象所标注的对象中心位置。服务器可以将检测图像、以及检测图像中所标注的每个目标对象的对象中心位置输入计算进程,以生成检测图像中每个目标对象的目标检测框。
步骤S202,N近邻初始框估计;
具体的,首选,服务器可以通过N近邻初始框估计的方法(即上述基于检测目标对象分别与辅助目标对象之间的像素距离的方法),估计得到目标对象的初始检测框,例如该初始检测框可以包括上述检测目标对象的初始检测框。
步骤S203,施加水平先验约束;
具体的,接着,服务器可以对上述所得到的目标对象的初始检测框施加上述水平先验约束,以修正所得到的目标对象的初始检测框,得到目标对象的过渡检测框。例如该过渡检测框可以包括上述检测目标对象的过渡检测框。
步骤S204,施加时序先验约束;
具体的,接着,服务器可以对上述所得到的目标对象的过渡检测框施加上述时序先验约束,以修正所得到的目标对象的初始检测框,得到目标对象的待定检测框。例如该待定检测框可以包括上述检测目标对象的待定检测框。
步骤S205,人头框是否已稳定;
具体的,该人头框就可以指上述获取到的待定检测框,如上述步骤S104中所描述的内容,可以对每次获取到的待定检测框进行迭代修正。若当前迭代过程中的待定检测框已经稳定,则可以执行下述步骤S206,若当前迭代过程中的待定检测框还没有稳定,则可以再迭代执行上述步骤S203。
步骤S206,输出估计框;
具体的,当人头框已经稳定,即可将当前所得到的目标对象的待定检测框,作为最终所生成的目标对象的目标检测框,并可以输出该最终的目标检测框。其中,该目标检测框可以是正方形的检测框,因此,输出目标检测框可以指输出该目标检测框的尺寸(例如边长)、以及该目标检测框的中心位置处的像素坐标。
由此可见,本申请提出的方法可以根据检测目标对象分别与每个辅助目标对象之间的像素距离、每个目标对象针对摄像设备的摄像距离、以及历史对象检测框协同来得到检测目标对象更准确的目标检测框。
请参见图9,图9是本申请提供的一种图像数据处理装置的结构示意图。如图9所示,该图像数据处理装置1可以包括:图像获取模块11、距离确定模块12、历史框获取模块13、目标框生成模块14和密度图生成模块15;
图像获取模块11,用于基于摄像设备获取包括至少两个目标对象的检测图像;至少两个目标对象由检测目标对象和辅助目标对象组成;检测图像中标注有每个目标对象的对象中心位置;
距离确定模块12,用于根据每个目标对象的对象中心位置,确定检测目标对象分别与每个辅助目标对象之间的像素距离、以及每个目标对象针对摄像设备的摄像距离;
历史框获取模块13,用于获取基于摄像设备所得到的历史图像,从历史图像中,获取检测目标对象的对象中心位置所指示的历史对象的历史对象检测框;
目标框生成模块14,用于根据检测目标对象分别与每个辅助目标对象之间的像素距离、每个目标对象针对摄像设备的摄像距离、以及历史对象检测框,生成针对检测目标对象的目标检测框;
密度图生成模块15,用于根据目标检测框,生成针对检测目标对象的目标对象密度图。
其中,图像获取模块11、距离确定模块12、历史框获取模块13、目标框生成模块14和密度图生成模块15的具体功能实现方式请参见图3对应的实施例中的步骤S101-步骤S105,这里不再进行赘述。
其中,距离确定模块12,包括:像素距离确定单元121和摄像距离确定单元122;
像素距离确定单元121,用于获取检测目标对象的对象中心位置分别与每个辅助目标对象的对象中心位置之间的间隔像素数量,根据每个辅助目标对象所属的间隔像素数量,确定检测目标对象分别与每个辅助目标对象之间的像素距离;
摄像距离确定单元122,用于根据每个目标对象的对象中心位置,确定每个目标对象在检测图像中的垂直方向距离,根据每个目标对象所属的垂直方向距离,确定每个目标对象针对摄像设备的摄像距离。
其中,像素距离确定单元121和摄像距离确定单元122的具体功能实现方式请参见图3对应的实施例中的步骤S102,这里不再进行赘述。
其中,历史框获取模块13,包括:历史对象排序单元131、历史对象获取单元132和历史框确定单元133;
历史对象排序单元131,用于根据历史图像中至少一个历史对象的对象中心位置分别与检测目标对象的对象中心位置之间的像素距离,对至少一个历史对象进行排序,得到排序后的至少一个历史对象;
历史对象获取单元132,用于根据第一对象获取数量,从排序后的至少一个历史对象中,选取参考历史对象;参考历史对象的数量小于或等于第一对象获取数量;
历史框确定单元133,用于将历史图像中用于标注参考历史对象的对象检测框,确定为历史对象检测框。
其中,历史对象排序单元131、历史对象获取单元132和历史框确定单元133的具体功能实现方式请参见图3对应的实施例中的步骤S103,这里不再进行赘述。
其中,目标框生成模块14,包括:初始框生成单元141、过渡框生成单元142和目标框生成单元143;
初始框生成单元141,用于根据检测目标对象分别与每个辅助目标对象之间的像素距离,生成针对检测目标对象的初始检测框;
过渡框生成单元142,用于根据每个目标对象针对摄像设备的摄像距离、以及初始检测框,生成针对检测目标对象的过渡检测框;
目标框生成单元143,用于根据历史对象检测框和过渡检测框,生成针对检测目标对象的目标检测框。
其中,初始框生成单元141、过渡框生成单元142和目标框生成单元143的具体功能实现方式请参见图3对应的实施例中的步骤S104,这里不再进行赘述。
其中,初始框生成单元141,包括:第一排序子单元1411、第一对象获取子单元1412、距离均值获取子单元1413、初始尺寸获取子单元1414和初始框生成子单元1415;
第一排序子单元1411,用于根据检测目标对象分别与每个辅助目标对象之间的像素距离,对至少一个辅助目标对象进行排序,得到排序后的至少一个辅助目标对象;
第一对象获取子单元1412,用于根据第二对象获取数量,从排序后的至少一个辅助目标对象中,选取第一参考目标对象;第一参考目标对象的数量小于或等于第二对象获取数量;
距离均值获取子单元1413,用于获取第一参考目标对象与检测目标对象之间的像素距离的距离均值;
初始尺寸获取子单元1414,用于根据框尺寸加权系数,对距离均值进行加权,得到初始框尺寸;
初始框生成子单元1415,用于根据初始框尺寸,生成初始检测框。
其中,第一排序子单元1411、第一对象获取子单元1412、距离均值获取子单元1413、初始尺寸获取子单元1414和初始框生成子单元1415的具体功能实现方式请参见图3对应的实施例中的步骤S104,这里不再进行赘述。
其中,过渡框生成单元142,包括:第二排序子单元1421、第二对象获取子单元1422、尺寸均值获取子单元1423和过渡框生成子单元1424;
第二排序子单元1421,用于根据检测目标对象所属的摄像距离分别与每个辅助目标对象所属的摄像距离之间的摄像距离差值,对至少一个辅助目标对象进行排序,得到排序后的至少一个辅助目标对象;
第二对象获取子单元1422,用于根据第三对象获取数量,从排序后的至少一个辅助目标对象中,选取第二参考目标对象;第二参考目标对象的数量小于或等于第三对象获取数量;
尺寸均值获取子单元1423,用于获取第二参考目标对象所属的对象初始检测框的检测框尺寸均值;
过渡框生成子单元1424,用于根据第二参考目标对象对应的检测框尺寸均值和初始检测框,生成过渡检测框。
其中,第二排序子单元1421、第二对象获取子单元1422、尺寸均值获取子单元1423和过渡框生成子单元1424的具体功能实现方式请参见图3对应的实施例中的步骤S104,这里不再进行赘述。
其中,过渡框生成子单元1424,包括:第一系数获取子单元14241、第一加权子单元14242、第二加权子单元14243和第一框生成子单元14244;
第一系数获取子单元14241,用于获取针对第二参考目标对象对应的检测框尺寸均值的第一尺寸加权系数,获取针对初始检测框的第二尺寸加权系数;
第一加权子单元14242,用于根据第一尺寸加权系数对第二参考目标对象对应的检测框尺寸均值进行加权,得到第一框尺寸;
第二加权子单元14243,用于根据第二尺寸加权系数对初始检测框的框尺寸进行加权,得到第二框尺寸;
第一框生成子单元14244,用于根据第一框尺寸和第二框尺寸,生成过渡检测框。
其中,第一系数获取子单元14241、第一加权子单元14242、第二加权子单元14243和第一框生成子单元14244的具体功能实现方式请参见图3对应的实施例中的步骤S104,这里不再进行赘述。
其中,目标框生成单元143,包括:框均值获取子单元1431、第二系数获取子单元1432、第三加权子单元1433、第四加权子单元1434和第二框生成子单元1435;
框均值获取子单元1431,用于获取历史对象检测框对应的检测框尺寸均值;
第二系数获取子单元1432,用于获取针对历史对象检测框对应的检测框尺寸均值的第三尺寸加权系数,获取针对过渡检测框的第四尺寸加权系数;
第三加权子单元1433,用于根据第三尺寸加权系数,对历史对象检测框对应的检测框尺寸均值进行加权,得到第三框尺寸;
第四加权子单元1434,用于根据第四尺寸加权系数对过渡检测框的框尺寸进行加权,得到第四框尺寸;
第二框生成子单元1435,用于根据第三框尺寸和第四框尺寸,生成目标检测框。
其中,框均值获取子单元1431、第二系数获取子单元1432、第三加权子单元1433、第四加权子单元1434和第二框生成子单元1435的具体功能实现方式请参见图3对应的实施例中的步骤S104,这里不再进行赘述。
其中,密度图生成模块15,包括:初始密度图生成单元151、高斯核确定单元152和卷积单元153;
初始密度图生成单元151,用于根据每个目标对象的对象中心位置,生成针对检测图像的初始对象密度图;
高斯核确定单元152,用于基于目标检测框确定高斯核标准差,根据高斯核标准差确定针对检测目标对象的目标高斯核;
卷积单元153,用于基于目标高斯核对对象初始密度图进行卷积操作,生成针对检测目标对象的目标对象密度图。
其中,初始密度图生成单元151、高斯核确定单元152和卷积单元153的具体功能实现方式请参见图3对应的实施例中的步骤S105,这里不再进行赘述。
其中,初始密度图生成单元151,包括:遍历子单元1511和密度图生成子单元1512;
遍历子单元1511,用于对检测图像中的至少两个像素点进行遍历,将遍历到的处于每个目标对象的对象中心位置处的像素点的像素值设置为第一像素值,将遍历到的未处于每个目标对象的对象中心位置处的像素点的像素值设置为第二像素值;
密度图生成子单元1512,用于根据为至少两个像素点所设置的第一像素值和第二像素值,生成初始对象密度图。
其中,遍历子单元1511和密度图生成子单元1512的具体功能实现方式请参见图3对应的实施例中的步骤S105,这里不再进行赘述。
其中,目标框生成模块14,包括:第一框生成单元144、第二框生成单元145、第一框确定单元146、第三框生成单元147、第四框生成单元148和第二框确定单元149;
第一框生成单元144,用于在第x次迭代过程中,根据每个目标对象针对摄像设备的摄像距离、历史对象检测框以及在第x-1次迭代过程中所生成的针对检测目标对象的待定检测框dx-1,生成针对检测目标对象的过渡检测框gx;若第x-1次迭代过程为首次迭代过程,则待定检测框dx-1是基于检测目标对象分别与每个辅助目标对象之间的像素距离得到;
第二框生成单元145,用于根据历史对象检测框和过渡检测框gx,生成针对检测目标对象的待定检测框dx;
第一框确定单元146,用于当待定检测框dx的框尺寸与待定检测框dx-1的框尺寸之间的尺寸差值小于或等于尺寸差值阈值时,将待定检测框dx确定为目标检测框;
第三框生成单元147,用于当待定检测框dx的框尺寸与待定检测框dx-1的框尺寸之间的尺寸差值大于尺寸差值阈值时,在第x+1次迭代过程中,根据每个目标对象针对摄像设备的摄像距离和待定检测框dx,生成针对检测目标对象的过渡检测框gx+1;
第四框生成单元148,用于根据历史对象检测框和过渡检测框gx+1,生成针对检测目标对象的待定检测框dx+1;
第二框确定单元149,用于当待定检测框dx+1的框尺寸与待定检测框dx的框尺寸之间的尺寸差值小于或等于尺寸差值阈值时,将待定检测框dx+1确定为目标检测框。
其中,第一框生成单元144、第二框生成单元145、第一框确定单元146、第三框生成单元147、第四框生成单元148和第二框确定单元149的具体功能实现方式请参见图3对应的实施例中的步骤S104,这里不再进行赘述。
其中,上述装置1还包括:模型训练模块16、输入模块17和积分模块18;
模型训练模块16,用于基于目标对象密度图训练对象密度检测模型,将训练完成的对象密度检测模型确定为目标检测模型;
输入模块17,用于将包括待检测对象的待检测图像输入目标检测模型,在目标检测模型中生成针对待检测对象的对象密度图;
积分模块18,用于对对象密度图进行积分操作,得到待检测图像中待检测对象的对象数量。
其中,模型训练模块16、输入模块17和积分模块18的具体功能实现方式请参见图3对应的实施例中的步骤S105,这里不再进行赘述。
由此可见,本申请提出的方法可以根据检测目标对象分别与每个辅助目标对象之间的像素距离、每个目标对象针对摄像设备的摄像距离、以及历史对象检测框协同来得到检测目标对象更准确的目标检测框,进而可以通过该更准确的目标检测框生成针对检测目标对象更准确的目标对象密度图。
请参见图10,图10是本申请提供的一种计算机设备的结构示意图。如图10所示,计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
在图10所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现前文图3对应实施例中对图像数据处理方法的描述。应当理解,本申请中所描述的计算机设备1000也可执行前文图9所对应实施例中对图像数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的图像数据处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3对应实施例中对图像数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖范围。
Claims (15)
1.一种图像数据处理方法,其特征在于,包括:
基于摄像设备获取包括至少两个目标对象的检测图像;所述至少两个目标对象由检测目标对象和辅助目标对象组成;所述检测图像中标注有每个目标对象的对象中心位置;
根据所述每个目标对象的对象中心位置,确定所述检测目标对象分别与每个辅助目标对象之间的像素距离、以及每个目标对象针对所述摄像设备的摄像距离;
获取基于所述摄像设备所得到的历史图像,从所述历史图像中,获取所述检测目标对象的对象中心位置所指示的历史对象的历史对象检测框;
根据所述检测目标对象分别与所述每个辅助目标对象之间的像素距离、所述每个目标对象针对所述摄像设备的摄像距离、以及所述历史对象检测框,生成针对所述检测目标对象的目标检测框;
根据所述目标检测框,生成针对所述检测目标对象的目标对象密度图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述每个目标对象的对象中心位置,确定所述检测目标对象分别与每个辅助目标对象之间的像素距离、以及每个目标对象针对所述摄像设备的摄像距离,包括:
获取所述检测目标对象的对象中心位置分别与所述每个辅助目标对象的对象中心位置之间的间隔像素数量,根据所述每个辅助目标对象所属的间隔像素数量,确定所述检测目标对象分别与所述每个辅助目标对象之间的像素距离;
根据所述每个目标对象的对象中心位置,确定所述每个目标对象在所述检测图像中的垂直方向距离,根据所述每个目标对象所属的垂直方向距离,确定所述每个目标对象针对所述摄像设备的摄像距离。
3.根据权利要求1所述的方法,其特征在于,所述从所述历史图像中,获取所述检测目标对象的对象中心位置所指示的历史对象的历史对象检测框,包括:
根据所述历史图像中至少一个历史对象的对象中心位置分别与所述检测目标对象的对象中心位置之间的像素距离,对所述至少一个历史对象进行排序,得到排序后的所述至少一个历史对象;
根据第一对象获取数量,从排序后的所述至少一个历史对象中,选取参考历史对象;所述参考历史对象的数量小于或等于所述第一对象获取数量;
将所述历史图像中用于标注所述参考历史对象的对象检测框,确定为所述历史对象检测框。
4.根据权利要求1所述的方法,其特征在于,所述根据所述检测目标对象分别与所述每个辅助目标对象之间的像素距离、所述每个目标对象针对所述摄像设备的摄像距离、以及所述历史对象检测框,生成针对所述检测目标对象的目标检测框,包括:
根据所述检测目标对象分别与所述每个辅助目标对象之间的像素距离,生成针对所述检测目标对象的初始检测框;
根据所述每个目标对象针对所述摄像设备的摄像距离、以及所述检测目标对象的初始检测框,生成针对所述检测目标对象的过渡检测框;
根据所述历史对象检测框和所述过渡检测框,生成针对所述检测目标对象的目标检测框。
5.根据权利要求4所述的方法,其特征在于,所述根据所述检测目标对象分别与所述每个辅助目标对象之间的像素距离,生成针对所述检测目标对象的初始检测框,包括:
根据所述检测目标对象分别与所述每个辅助目标对象之间的像素距离,对至少一个辅助目标对象进行排序,得到排序后的所述至少一个辅助目标对象;
根据第二对象获取数量,从排序后的所述至少一个辅助目标对象中,选取第一参考目标对象;所述第一参考目标对象的数量小于或等于所述第二对象获取数量;
获取所述第一参考目标对象与所述检测目标对象之间的像素距离的距离均值;
根据框尺寸加权系数,对所述距离均值进行加权,得到初始框尺寸;
根据所述初始框尺寸,生成所述检测目标对象的初始检测框。
6.根据权利要求4所述的方法,其特征在于,所述根据所述每个目标对象针对所述摄像设备的摄像距离、以及所述检测目标对象的初始检测框,生成针对所述检测目标对象的过渡检测框,包括:
根据所述检测目标对象所属的摄像距离分别与所述每个辅助目标对象所属的摄像距离之间的摄像距离差值,对至少一个辅助目标对象进行排序,得到排序后的至少一个辅助目标对象;
根据第三对象获取数量,从排序后的所述至少一个辅助目标对象中,选取第二参考目标对象;所述第二参考目标对象的数量小于或等于所述第三对象获取数量;
获取所述第二参考目标对象所属的对象初始检测框的检测框尺寸均值;
根据所述第二参考目标对象对应的检测框尺寸均值和所述检测目标对象的初始检测框,生成所述过渡检测框。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二参考目标对象对应的检测框尺寸均值和所述检测目标对象的初始检测框,生成所述过渡检测框,包括:
获取针对所述第二参考目标对象对应的检测框尺寸均值的第一尺寸加权系数,获取针对所述检测目标对象的初始检测框的第二尺寸加权系数;
根据所述第一尺寸加权系数对所述第二参考目标对象对应的检测框尺寸均值进行加权,得到第一框尺寸;
根据所述第二尺寸加权系数对所述检测目标对象的初始检测框的框尺寸进行加权,得到第二框尺寸;
根据所述第一框尺寸和所述第二框尺寸,生成所述过渡检测框。
8.根据权利要求4所述的方法,其特征在于,所述根据所述历史对象检测框和所述过渡检测框,生成针对所述检测目标对象的目标检测框,包括:
获取所述历史对象检测框对应的检测框尺寸均值;
获取针对所述历史对象检测框对应的检测框尺寸均值的第三尺寸加权系数,获取针对所述过渡检测框的第四尺寸加权系数;
根据所述第三尺寸加权系数,对所述历史对象检测框对应的检测框尺寸均值进行加权,得到第三框尺寸;
根据所述第四尺寸加权系数对所述过渡检测框的框尺寸进行加权,得到第四框尺寸;
根据所述第三框尺寸和所述第四框尺寸,生成所述目标检测框。
9.根据权利要求1所述的方法,其特征在于,所述根据所述目标检测框,生成针对所述检测目标对象的目标对象密度图,包括:
根据所述每个目标对象的对象中心位置,生成针对所述检测图像的初始对象密度图;
基于所述目标检测框确定高斯核标准差,根据所述高斯核标准差确定针对所述检测目标对象的目标高斯核;
基于所述目标高斯核对所述初始对象密度图进行卷积操作,生成针对所述检测目标对象的所述目标对象密度图。
10.根据权利要求9所述的方法,其特征在于,所述根据所述每个目标对象的对象中心位置,生成针对所述检测图像的初始对象密度图,包括:
对所述检测图像中的至少两个像素点进行遍历,将遍历到的处于所述每个目标对象的对象中心位置处的像素点的像素值设置为第一像素值,将遍历到的未处于所述每个目标对象的对象中心位置处的像素点的像素值设置为第二像素值;
根据为所述至少两个像素点所设置的所述第一像素值和所述第二像素值,生成所述初始对象密度图。
11.根据权利要求1所述的方法,其特征在于,所述根据所述检测目标对象分别与所述每个辅助目标对象之间的像素距离、所述每个目标对象针对所述摄像设备的摄像距离、以及所述历史对象检测框,生成针对所述检测目标对象的目标检测框,包括:
在第x次迭代过程中,根据所述每个目标对象针对所述摄像设备的摄像距离,以及在第x-1次迭代过程中所生成的针对所述检测目标对象的待定检测框dx-1,生成针对所述检测目标对象的过渡检测框gx;若所述第x-1次迭代过程为首次迭代过程,则所述待定检测框dx-1是基于所述检测目标对象分别与所述每个辅助目标对象之间的像素距离得到;
根据所述历史对象检测框和所述过渡检测框gx,生成针对所述检测目标对象的待定检测框dx;
当所述待定检测框dx的框尺寸与待定检测框dx-1的框尺寸之间的尺寸差值小于或等于尺寸差值阈值时,将所述待定检测框dx确定为所述目标检测框;
当所述待定检测框dx的框尺寸与所述待定检测框dx-1的框尺寸之间的尺寸差值大于所述尺寸差值阈值时,在第x+1次迭代过程中,根据所述每个目标对象针对所述摄像设备的摄像距离和所述待定检测框dx,生成针对所述检测目标对象的过渡检测框gx+1;
根据所述历史对象检测框和所述过渡检测框gx+1,生成针对所述检测目标对象的待定检测框dx+1;
当所述待定检测框dx+1的框尺寸与所述待定检测框dx的框尺寸之间的尺寸差值小于或等于所述尺寸差值阈值时,将所述待定检测框dx+1确定为所述目标检测框。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述目标对象密度图训练对象密度检测模型,将训练完成的所述对象密度检测模型确定为目标检测模型;
将包括待检测对象的待检测图像输入所述目标检测模型,在所述目标检测模型中生成针对所述待检测对象的对象密度图;
对所述待检测对象的对象密度图进行积分操作,得到所述待检测图像中所述待检测对象的对象数量。
13.一种图像数据处理装置,其特征在于,包括:
图像获取模块,用于基于摄像设备获取包括至少两个目标对象的检测图像;所述至少两个目标对象由检测目标对象和辅助目标对象组成;所述检测图像中标注有每个目标对象的对象中心位置;
距离确定模块,用于根据所述每个目标对象的对象中心位置,确定所述检测目标对象分别与每个辅助目标对象之间的像素距离、以及每个目标对象针对所述摄像设备的摄像距离;
历史框获取模块,用于获取基于所述摄像设备所得到的历史图像,从所述历史图像中,获取所述检测目标对象的对象中心位置所指示的历史对象的历史对象检测框;
目标框生成模块,用于根据所述检测目标对象分别与所述每个辅助目标对象之间的像素距离、所述每个目标对象针对所述摄像设备的摄像距离、以及所述历史对象检测框,生成针对所述检测目标对象的目标检测框;
密度图生成模块,用于根据所述目标检测框,生成针对所述检测目标对象的目标对象密度图。
14.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,执行权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011222364.6A CN112101303B (zh) | 2020-11-05 | 2020-11-05 | 一种图像数据处理方法、装置以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011222364.6A CN112101303B (zh) | 2020-11-05 | 2020-11-05 | 一种图像数据处理方法、装置以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112101303A CN112101303A (zh) | 2020-12-18 |
CN112101303B true CN112101303B (zh) | 2021-02-05 |
Family
ID=73785426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011222364.6A Active CN112101303B (zh) | 2020-11-05 | 2020-11-05 | 一种图像数据处理方法、装置以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101303B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102633938B1 (ko) * | 2023-04-21 | 2024-02-08 | (주)와이드큐브 | Cctv 영상을 활용한 군중 밀집도 계산 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102881022A (zh) * | 2012-07-20 | 2013-01-16 | 西安电子科技大学 | 基于在线学习的遮挡目标跟踪方法 |
CN107273891A (zh) * | 2017-06-08 | 2017-10-20 | 深圳市唯特视科技有限公司 | 一种基于点击监督训练的目标类别检测方法 |
CN109446901A (zh) * | 2018-09-21 | 2019-03-08 | 北京晶品特装科技有限责任公司 | 一种可嵌入式移植的实时人形目标自动识别算法 |
KR20190062852A (ko) * | 2017-11-29 | 2019-06-07 | 영남대학교 산학협력단 | 보행자 검출 시스템 및 모듈, 방법, 컴퓨터프로그램 |
-
2020
- 2020-11-05 CN CN202011222364.6A patent/CN112101303B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102881022A (zh) * | 2012-07-20 | 2013-01-16 | 西安电子科技大学 | 基于在线学习的遮挡目标跟踪方法 |
CN107273891A (zh) * | 2017-06-08 | 2017-10-20 | 深圳市唯特视科技有限公司 | 一种基于点击监督训练的目标类别检测方法 |
KR20190062852A (ko) * | 2017-11-29 | 2019-06-07 | 영남대학교 산학협력단 | 보행자 검출 시스템 및 모듈, 방법, 컴퓨터프로그램 |
CN109446901A (zh) * | 2018-09-21 | 2019-03-08 | 北京晶品特装科技有限责任公司 | 一种可嵌入式移植的实时人形目标自动识别算法 |
Also Published As
Publication number | Publication date |
---|---|
CN112101303A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446270A (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
CN112446380A (zh) | 图像处理方法和装置 | |
CN110163211B (zh) | 一种图像识别方法、装置和存储介质 | |
CN112200056B (zh) | 人脸活体检测方法、装置、电子设备及存储介质 | |
CN112184757A (zh) | 运动轨迹的确定方法及装置、存储介质、电子装置 | |
CN110222572A (zh) | 跟踪方法、装置、电子设备及存储介质 | |
CN112884782B (zh) | 生物对象分割方法、装置、计算机设备和存储介质 | |
CN112836625A (zh) | 人脸活体检测方法、装置、电子设备 | |
CN111985458A (zh) | 一种检测多目标的方法、电子设备及存储介质 | |
CN114721403B (zh) | 基于OpenCV的自动驾驶控制方法、装置及存储介质 | |
CN112614140A (zh) | 一种训练色斑检测模型的方法及相关装置 | |
CN112101303B (zh) | 一种图像数据处理方法、装置以及计算机可读存储介质 | |
WO2021051382A1 (zh) | 白平衡处理方法和设备、可移动平台、相机 | |
WO2022120996A1 (zh) | 视觉位置识别方法及装置、计算机设备及可读存储介质 | |
CN116630367B (zh) | 目标跟踪方法、装置、电子设备及存储介质 | |
CN113205072A (zh) | 一种对象关联方法、装置及电子设备 | |
CN112668596B (zh) | 三维物体识别方法及装置、识别模型训练方法及装置 | |
CN112150529B (zh) | 一种图像特征点的深度信息确定方法及装置 | |
CN115115552B (zh) | 图像矫正模型训练及图像矫正方法、装置和计算机设备 | |
CN112668710A (zh) | 模型训练、管状物提取、数据识别方法及设备 | |
CN110751163A (zh) | 目标定位方法及其装置、计算机可读存储介质和电子设备 | |
CN113642353B (zh) | 一种人脸检测模型的训练方法、存储介质及终端设备 | |
CN113343851A (zh) | 一种训练人脸衰老检测模型的方法及相关装置 | |
CN113850165B (zh) | 人脸识别方法和装置 | |
JP2021033374A (ja) | 対象物認識装置、対象物認識方法、及び対象物認識プログラム |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40036297 Country of ref document: HK |