具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种对象检测方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的对象检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种对象检测方法,图2是根据本发明实施例的对象检测方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,将获取的N帧待处理图像进行区域划分,得到N组图像区域,其中,N组图像区域中每组图像区域均包括M个图像区域,N和M均是大于或等于1的自然数;
可选地,在本实施例中,待处理图像包括但不限于是通过设备获取的图像,摄像设备包括但不限于是摄像头、相机等。对待处理图像的区域划分包括但不限于是分块处理。区域划分的大小可以自定义。例如,将获取的图像画面划分为M*N组区域,作为单独的统计分块。可选地,M取32,N取32,在实际应用中,根据实际业务需要,M和N都可以是任意值。
步骤S204,对M个图像区域进行灰度处理,得到M组灰度直方图;
可选地,在本实施例中,灰度直方图是关于灰度级分布的函数,是对图像中灰度级分布的统计。灰度直方图是将图像中的所有像素按照灰度值的大小,统计出其出现的频率。
步骤S206,基于M组灰度直方图对N帧待处理图像中的目标对象进行检测。
可选地,上述步骤的执行主体可以为终端等,但不限于此。
通过上述步骤,由于将获取的N帧待处理图像进行区域划分,得到N组图像区域,其中,N组图像区域中每组图像区域均包括M个图像区域,N和M均是大于或等于1的自然数;对M个图像区域进行灰度处理,得到M组灰度直方图;基于M组灰度直方图对N帧待处理图像中的目标对象进行检测。可以实现不依赖智能芯片就能完成画面中区域活跃度的分析和判定,并依据判定结果对对象的动态进行检测。因此,可以解决相关技术中对对象的动态检测的问题,达到减少图像处理功耗,提高图像质量以及准确检测对象的效果。
在一个可选的实施例中,对每组图像区域进行灰度处理,得到M组灰度直方图,包括:
S1,获取每组图像区域中每个图像区域的像素的灰度值;
S2,基于像素的灰度值建立每个图像区域的灰度直方图,得到M组灰度直方图。
可选地,如图3所示,是本实施例中对图像区域进行灰度处理的流程图,包括以下步骤:
S301:逻辑控制开始;
S302:根据当前帧画面,分别获取各个统计块中像素的灰度统计信息;
S303:计算得到该帧画面各个统计块的灰度统计信息直方图;
S304:计算当前帧的图像各个统计块的信息熵值E1、E2、E3…
S305:逻辑控制结束。
在一个可选的实施例中,对所述M个图像区域进行灰度处理,得到M组灰度直方图之前,需要确定N组灰度直方图中每组灰度直方图的熵,得到N组熵值;其中,确定M组灰度直方图中每个灰度直方图的熵,得到N组熵值,包括:
S1,提取每组图像区域中的每个图像区域;
S2,从每个灰度直方图中提取出与每个图像区域对应的灰度直方图;
S3,确定每个图像区域对应的灰度直方图的熵值,得到N组熵值。
可选地,在本实施例中,熵值用于反映图像中平均信息量的多少。表示图像中灰度分布的聚集特征所包含的信息量。为了减少数据运算量,在统计像素值时,可以不取所有像素点,而是采取抽样的方式,本实施例使用隔着点抽样方式统计像素点。M可以取任意值,例如,M取5帧。
可选地,可以采用256段直方图的统计方式或者采用1024段直方图的统计方式进行直方图的统计。
可选地,可以根据直方图信息数据进行图像信息熵的计算,可以根据实际需要,使用一维熵的计算方式,也可以使用二维熵的计算方式。以一维熵的计算方式为例,配合256段直方图统计,具体的方式为,首先计算出图像中灰度值为i的像素所占的比例,记为Pi,然后使用下述公式计算得到结果:
在一个可选的实施例中,基于N组熵值确定出N帧待处理图像的活跃度,包括:
S1,确定M组灰度直方图中每组灰度直方图的熵,得到M组熵值;
S2,基于M组熵值确定出N组图像区域的复杂度;
S3,计算M组图像区域的复杂度对应的方差,得到M组方差;
S4,对M组方差按照预设顺序进行排序,得到排序结果;
S5,基于排序结果确定出N帧待处理图像中的目标对象的活跃度。
可选地,在本实施例中,选取方差最大值所对应的图像区域,标记改图像区域为活跃度统计块T。预设顺序包括但不限于是从小到大的顺序。
可选地,在本实施例中,方差值越大,图像区域的活跃度越高。
在一个可选的实施例中,基于排序结果确定出N帧待处理图像中的目标对象的活跃度之后,方法还包括:
S1,从排序结果中确定出最大方差值,以确定出与最大方差值对应的目标图像区域;
S2,确定目标图像区域在待处理图像中的坐标信息;
S3,基于坐标信息对待处理图像进行图像处理,其中,图像处理包括以下至少之一:聚焦处理,画质处理。
可选地,根据坐标信息,进行区域聚焦加强,进行区域编码加强,提升该图像区域的画质。
在一个可选的实施例中,基于排序结果确定出N帧待处理图像的活跃度之后,方法还包括:
S1,从排序结果中确定出最大方差值,以确定出与最大方差值对应的目标图像区域;
S2,确定目标图像区域的亮度值;
S3,按照目标图像区域的亮度值调整待处理图像的曝光度和对比度,得到目标图像。
可选地,调整曝光值使EV亮度达到目标亮度EVt。曝光度的调整是指对快门、增益和光圈进行的调整,EV是指每帧图像的实时亮度统计值,EVt作为目标亮度,EVt以20为单位,实际使用中EVt可以根据实际需要进行自行调整。
可选地,如图4所示,是本实施例中的整体流程图,包括以下步骤:
S401:开始;
S402:将画面划分为M*N组区域,作为单独的统计分块,M取32,N取32,可以根据实际业务需要,M和N都可以是任意值;
S403:完成逻辑控制A,即对M*N组区域的灰度处理;
S404:判断是否进行了X帧的熵值计算,X取5帧,可以根据实际业务需要,X可以是任意值;
S405:别对各个统计块的得到的X个熵值,进行各自的方差值计算,得到M*N组方差值;
S406:对计算得到的M*N组方差值进行排序,选取方差最大值所对应的统计块,标记改统计块为活跃度统计块T;
S407:找出方差最大值,记录该方差值所对应分块在画面中坐标信息,并标记该统计块为活跃度统计块T;
S408:统计T块的亮度统计值EV;
S409:以目标亮度EV为基准,调整曝光值,使得EVt逐近于EV;
S410:根据活跃度统计块的坐标信息,进行区域聚焦加强;
S411:根据活跃度统计块的坐标信息,进行区域编码加强,提升该区域的画质;
S412:统计块进行局部对比度调整。
可选地,基于M组灰度直方图对N帧待处理图像中的目标对象进行检测之前,方法还包括:
S1,统计N帧待处理图像的亮度信息;
S2,基于亮度信息对N帧待处理图像进行亮度残差处理,得到N-1帧残差图像;
S3,确定N-1帧残差图像在预设坐标系中的位移方向。
可选地,基于M组灰度直方图对N帧待处理图像中的目标对象进行检测,包括:
S1,确定M组灰度直方图的变化值的标准差值;
S2,从标准差值中选择两个最大标准差值对应的图像区域的坐标位置信息;
S3,在位移方向与坐标位置信息对应的情况下,提示N帧待处理图像中的目标对象的动态信息。
可选地,本实施例包括但不限于应用于对目标对象进行动态检测的场景中。例如,在交通检测的场景中,对行人的检测、机动车的检测、非机动车的检测等。
可选地,本实施例的方案如图5所示,包括以下步骤:
S501:首先进行像素级的亮度信息统计,同时进行S502和S503。
S502:建立图像空间坐标系,以图像宽为横坐标,图像高为纵坐标,进行S504。
S503:建立图像分块,按照实际需要与硬件性能,本案中选择可以是32*32,但不仅限于此,进行S506。
S504:对多帧(n帧,n可以但不仅限于5帧)统计的像素级亮度统计进行相邻帧的互减,得到n-1帧的残差图像,进行S505。
S505:整理残差图像在图像空间坐标系中的对应坐标信息,找出n-1帧残差图像中所包含有效信息的位移方向,进行S509。
S506:对多帧(n帧,n可以但不仅限于5帧)统计的像素级亮度统计按照分块进行直方图信息统计,进行S507。
S507:统计多帧(n帧,n可以但不仅限于5帧)下各分块的直方图变化值的标准差值,进行S508。
S508:选择标准差值最大的两个对应分块坐标位置信息,进行S509。
S509:比较S505所述的残差值信息在空间坐标中的位移方向与S509所述的标准差最大值对应两个分块坐标位置信息是否有对应关系,如果是,则进行S510,如果不是,则进行S501。
S510:提示动检信息。
S511:结束。
可选地,上述S506所述的对多帧(n帧,n可以但不仅限于5帧)统计的像素级亮度统计按照分块进行直方图信息统计,具体为对每一帧的每一个分块都进行直方图信息统计。其中分块可以是32*32个块,但不仅限于此。具体到每一个分块的直方图信息统计方式为,统计该分块所包含像素点的所有亮度值,以亮度值为横坐标,相同亮度值的累计数量为纵坐标,得到该分块的亮度统计直方图信息。每一帧有32*32个直方图统计信息。
上述S507所述的计算多帧(n帧,n可以但不仅限于5帧)下各分块的直方图变化值的标准差值,以左上角第一个分块为例,取第一帧左上角第一个分块的直方图信息H11,取第二帧左上角第一个分块的直方图信息H21,两个直方图信息做差,得到直方图变化差值ΔH1,然后再用变化该直方图计算标准差S1。取第二帧左上角第一个分块的直方图信息H21,取第三帧左上角第一个分块的直方图信息H31,两个直方图信息做差,得到直方图变化差值ΔH2,然后再用该直方图信息计算标准差S2。这样连续多帧(n帧,n可以但不仅限于5帧)后,左上角第一个分块就有S1到S(n-1)个直标准差,对这n-1个标准差,再做一次标准差,得到第一个分块的连续n帧下的标准查S1n。其他分块一样进行上述操作,如果一副画面分为32*32个分块后,得到的为32*32个标准差。
上述操作的原因是,首先根据亮度统计直方图计算两帧的直方图变化差,根据变化差得到的标准差,根据后续多个帧间标准差来得到的数据,再计算标准差的标准差,能够表征出多个帧间标准差的离散程度,离散程度越高,说明亮度变化越明显,大概率有物体移动。
上述S509所述的残差值信息在空间坐标中的位移方向与S509所述的标准差最大值对应两个分块坐标位置信息是否有对应关系,具体是指,残差值信息移动方向的起始和结束分块坐标信息,是否与标准差最大值对应两个分块坐标位置信息大致匹配,或者残差值信息移动方向路径上是否包含了标准差最大值对应两个分块坐标位置信息。
本实施例对分块统计信息进行多帧直方图信息统计后,进行直方图信息差异的标准差计算,通过计算得到的最大标准差值来粗判运动物体的分块位置信息,结合多帧亮度残差信息与对应建立的图像空间坐标信息,得到残差值信息的在空间坐标中的位移方向,来完成双重动检验证,解决传统非智能动检方案带来误报率高的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种对象检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的对象检测装置的结构框图,如图6所示,该装置包括:
第一确定模块62,用于将获取的N帧待处理图像进行区域划分,得到N组图像区域,其中,上述N组图像区域中每组图像区域均包括M个图像区域,上述N和上述M均是大于或等于1的自然数;
第二确定模块64,用于对上述M个图像区域进行灰度处理,得到M组灰度直方图;
检测模块66,用于基于上述M组灰度直方图对所述N帧待处理图像中的目标对象进行检测。
可选地,上述第二确定模块,包括:第一获取单元,用于获取上述M个图像区域中每个图像区域的像素的灰度值;第一确定单元,用于基于上述像素的灰度值建立上述每个图像区域的灰度直方图,得到上述M组灰度直方图。
可选地,上述装置还包括:第三确定模块,用于确定M组灰度直方图中每个灰度直方图的熵,得到M组熵值,其中,上述第三确定模块包括:第一提取单元,用于提取上述每组图像区域中的每个图像区域;第二提取单元,用于从上述每个灰度直方图中提取出与上述每个图像区域对应的灰度直方图;第二确定单元,用于确定上述每个图像区域对应的灰度直方图的熵值,得到上述M组熵值。
可选地,上述检测模块,包括:处理单元,用于确定M组灰度直方图中每组灰度直方图的熵,得到M组熵值;第三确定单元,用于基于上述M组熵值确定出上述M个图像区域的复杂度;第四确定单元,用于计算上述M个图像区域的复杂度对应的方差,得到M组方差;第五确定单元,用于对上述M组方差按照预设顺序进行排序,得到上述排序结果;第六确定单元,用于基于上述排序结果确定出上述N帧待处理图像中的目标对象的活跃度。
可选地,上述装置还包括:第六确定模块,用于基于上述排序结果确定出上述N帧待处理图像的活跃度之后,从上述排序结果中确定出最大方差值,以确定出与上述最大方差值对应的目标图像区域;第七确定模块,用于确定上述目标图像区域在上述待处理图像中的坐标信息;处理模块,用于基于上述坐标信息对上述待处理图像进行图像处理,其中,上述图像处理包括以下至少之一:聚焦处理,画质处理。
可选地,上述装置还包括:第八确定模块,用于基于上述排序结果确定出上述N帧待处理图像的活跃度之后,从上述排序结果中确定出最大方差值,以确定出与上述最大方差值对应的目标图像区域;第九确定模块,用于确定上述目标图像区域的亮度值;第十确定模块,用于按照上述目标图像区域的亮度值调整上述待处理图像的曝光度和对比度,得到目标图像。
可选地,上述装置还包括,统计模块,用于基于上述M组灰度直方图对上述N帧待处理图像中的目标对象进行检测之前,统计上述N帧待处理图像的亮度信息;第十一确定模块,用于基于上述亮度信息对上述N帧待处理图像进行亮度残差处理,得到N-1帧残差图像;第十二确定模块,用于确定上述N-1帧残差图像在预设坐标系中的位移方向。
可选地,上述检测模块包括,第七确定单元,用于确定上述M组灰度直方图的变化值的标准差值;选择单元,用于从上述标准差值中选择两个最大标准差值对应的图像区域的坐标位置信息;提示单元,用于在上述位移方向与上述坐标位置信息对应的情况下,提示上述N帧待处理图像中的目标对象的动态信息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,将获取的N帧待处理图像进行区域划分,得到N组图像区域,其中,N组图像区域中每组图像区域均包括M个图像区域,N和M均是大于或等于1的自然数;
S2,对M个图像区域进行灰度处理,得到M组灰度直方图;
S3,基于M组灰度直方图对N帧待处理图像中的目标对象进行检测。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,将获取的N帧待处理图像进行区域划分,得到N组图像区域,其中,N组图像区域中每组图像区域均包括M个图像区域,N和M均是大于或等于1的自然数;
S2,对M个图像区域进行灰度处理,得到M组灰度直方图;
S3,基于M组灰度直方图对N帧待处理图像中的目标对象进行检测。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。