HDR场景检测方法及系统与流程

文档序号:17180625发布日期:2019-03-22 20:52阅读:709来源:国知局
HDR场景检测方法及系统与流程

本发明涉及拍照技术领域,尤其涉及一种hdr场景检测方法及系统。



背景技术:

当前手机的拍照功能已经越来越受用户重视,在高对比(高宽容度)场景下简单方便的拍出高质量的图片可以大幅提升用户的使用体验,尤其对众多女性用户高质量自拍备受重视。

但是现有手机拍照技术受限于光学器件尺寸的大小很难对高对比场景的亮暗部分都正确曝光,导致拍出的照片总会牺牲亮部或暗部细节。目前的解决办法是通过hdr(highdynamicrange,高动态范围)处理来提升高对比场景下拍照质量,对于非专业摄影用户来说不知道何时需要hdr处理。因此自动准确检测hdr场景并打开hdr功能非常重要,错误的检测算法不但不能提升图片质量反而会影响拍照速度降低用户体验。

当前主流的hdr场景检测方式,主要基于空间区域的亮度对比,对每个区域的亮度进行对比进而判断当前场景是否需要打开hdr功能。

在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:现有的hdr场景检测算法检测结果准确度较低,用户体验不佳。



技术实现要素:

本发明提供的hdr场景检测方法及系统,能够提高hdr场景检测的准确度,改善用户体验。

第一方面,本发明提供一种hdr场景检测方法,包括:

提取当前场景的预览图像的感兴趣区域;

根据所述感兴趣区域的面积和亮度信息,确定所述预览图像的第一hdr值;

根据所述第一hdr值判断当前场景是否为hdr场景。

可选地,所述提取当前场景的预览图像的感兴趣区域包括:

采用物体检测算法检测所述预览图像的感兴趣区域,当未检测到感兴趣区域时,采用图搜索算法寻找所述预览图像的感兴趣区域。

可选地,所述采用图搜索算法寻找所述预览图像的感兴趣区域包括:

将所述预览图像分割成3x3个等面积的区域;

计算每个区域的rgb信息;

将中心区域标记为感兴趣区域,依次比较所述中心区域的各相邻区域和所述中心区域的rgb信息的相似性,当相邻区域和所述中心区域的rgb信息的相似性大于第一阈值时,标记该相邻区域为感兴趣区域。

可选地,所述根据所述感兴趣区域的面积和亮度信息,确定所述预览图像的第一hdr值包括:

按照公式计算所述预览图像的第一hdr值,其中,hroi为所述预览图像的第一hdr值,k为调试系数,sroi为感兴趣区域的面积,sall为整幅所述预览图像的面积,lave为感兴趣区域的亮度平均值,ltarget为感兴趣区域的亮度目标值,droi为感兴趣区域的亮度方差值。

可选地,所述根据所述第一hdr值判断当前场景是否为hdr场景包括:

当所述第一hdr值大于或等于第二阈值时,判断当前场景为hdr场景;

当所述第一hdr值小于或等于第三阈值时,判断当前场景为非hdr场景;

当所述第一hdr值小于所述第二阈值且大于所述第三阈值时,计算所述预览图像的亮度直方图;根据所述亮度直方图确定所述预览图像的第二hdr值;根据所述第一hdr值及所述第二hdr值判断当前场景是否为hdr场景。

可选地,所述根据所述亮度直方图确定所述预览图像的第二hdr值包括:

搜索所述亮度直方图的峰值区域;

当所述亮度直方图只有一个峰值区域且所述峰值区域不在亮度直方图的中心位置时,按照公式计算所述预览图像的第二hdr值,其中hhsi为所述预览图像的第二hdr值,p1为所述峰值区域内像素总数,p为所述预览图像的像素总数;

当所述亮度直方图有多个峰值区域且所述多个峰值区域在亮区和暗区都有分布时,按照公式计算所述预览图像的第二hdr值,其中hhsi为所述预览图像的第二hdr值,xmin为最左侧峰值区域的起始位置,xmax为最右侧峰值区域的起始位置,p2为最左侧峰值区域内像素总数,p3为最右侧峰值区域内像素总数;

当所述亮度直方图没有峰值区域时,将所述预览图像的第二hdr值置为零。

可选地,所述根据所述第一hdr值及所述第二hdr值判断当前场景是否为hdr场景包括:

当所述第一hdr值与所述第二hdr值之和大于第四阈值时,判断当前场景为hdr场景,否则判断当前场景为非hdr场景。

第二方面,本发明提供一种hdr场景检测系统,包括:

提取模块,用于提取当前场景的预览图像的感兴趣区域;

第一hdr值确定模块,用于根据所述感兴趣区域的面积和亮度信息,确定所述预览图像的第一hdr值;

判断模块,用于根据所述第一hdr值判断当前场景是否为hdr场景。

可选地,所述提取模块包括:

检测单元,用于采用物体检测算法检测所述预览图像的感兴趣区域;

寻找单元,用于当所述检测单元未检测到感兴趣区域时,采用图搜索算法寻找所述预览图像的感兴趣区域。

可选地,所述寻找单元包括:

分割子单元,用于将所述预览图像分割成3x3个等面积的区域;

rgb计算子单元,用于计算每个区域的rgb信息;

标记子单元,用于将中心区域标记为感兴趣区域,依次比较所述中心区域的各相邻区域和所述中心区域的rgb信息的相似性,当相邻区域和所述中心区域的rgb信息的相似性大于第一阈值时,标记该相邻区域为感兴趣区域。

可选地,所述第一hdr值确定模块,用于按照公式计算所述预览图像的第一hdr值,其中,hroi为所述预览图像的第一hdr值,k为调试系数,sroi为感兴趣区域的面积,sall为整幅所述预览图像的面积,lave为感兴趣区域的亮度平均值,ltarget为感兴趣区域的亮度目标值,droi为感兴趣区域的亮度方差值。

可选地,所述判断模块包括:

第一判断单元,用于当所述第一hdr值大于或等于第二阈值时,判断当前场景为hdr场景;

第二判断单元,用于当所述第一hdr值小于或等于第三阈值时,判断当前场景为非hdr场景;

直方图计算单元,用于当所述第一hdr值小于所述第二阈值且大于所述第三阈值时,计算所述预览图像的亮度直方图;

第二hdr值确定单元,用于根据所述亮度直方图确定所述预览图像的第二hdr值;

第三判断单元,用于根据所述第一hdr值及所述第二hdr值判断当前场景是否为hdr场景。

可选地,所述第二hdr值确定单元包括:

搜索子单元,用于搜索所述亮度直方图的峰值区域;

第二hdr值计算子单元,用于当所述亮度直方图只有一个峰值区域且所述峰值区域不在亮度直方图的中心位置时,按照公式计算所述预览图像的第二hdr值,其中hhsi为所述预览图像的第二hdr值,p1为峰值区域内像素总数,p为所述预览图像的像素总数;或者,当所述亮度直方图有多个峰值区域且所述多个峰值区域在亮区和暗区都有分布时,按照公式计算所述预览图像的第二hdr值,其中hhsi为所述预览图像的第二hdr值,xmin为最左侧峰值区域的起始位置,xmax为最右侧峰值区域的起始位置,p2为最左侧峰值区域内像素总数,p3为最右侧峰值区域内像素总数;或者,当所述亮度直方图没有峰值区域时,将所述预览图像的第二hdr值置为零。

可选地,所述第三判断单元,用于当所述第一hdr值与所述第二hdr值之和大于第四阈值时,判断当前场景为hdr场景,否则判断当前场景为非hdr场景。

本发明提供的hdr场景检测方法及系统,通过提取当前场景的预览图像的感兴趣区域并根据所述感兴趣区域的面积和亮度信息,确定所述预览图像的第一hdr值,最后根据所述第一hdr值判断当前场景是否为hdr场景。与现有技术相比,本发明通过对感兴趣区域的亮度信息进行重点分析,数据特性更好,因此能够提高hdr场景检测的准确性,改善用户体验。

附图说明

图1为本发明一实施例中一种hdr场景检测方法的流程图;

图2为本发明一实施例中预览图像的切割示意图;

图3为本发明一实施例中一种hdr场景检测系统的结构示意图;

图4为图3中提取模块的一种结构示意图;

图5为图4中寻找单元的一种结构示意图;

图6为图3中判断模块的一种结构示意图;

图7为图6中第二hdr值确定单元的一种结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种hdr场景检测方法,如图1所示,所述方法包括:

s11、提取当前场景的预览图像的感兴趣区域。

如果当前场景的预览图像中存在着人脸、人物或者宠物等,则定义这些区域为感兴趣区域(roi,regionofinterest)。现有的人脸识别等物体检测算法已经非常成熟,完全可以检测出这些感兴趣区域。如果不能检测到感兴趣区域,则根据用户的操作习惯(通常把感兴趣的拍摄物体放置在照片的中心位置),设预览图像的中心区域为感兴趣区域的一部分,由于相同物体的rgb信息分布是相似的,因此以中心区域为起始点进行广度优先图搜索算法找到所有和中心区域相似的区域共同组成roi区域。具体地,如图2所示,首先将预览图像分割成3x3个等面积的小区域,并计算各区域的rgb信息,将中心区域c标记为感兴趣区域,然后依次将与中心区域c相邻的8个区域的rgb信息和中心区域c的rgb信息进行比较,如果某个区域的rgb信息和中心区域c的rgb信息的相似性大于第一阈值,则说明该区域也是感兴趣区域,将该区域标记为感兴趣区域,该区域和c区域间组成一条图路径,找到所有和c区域的rgb信息的相似性大于第一阈值的区域并标记为感兴趣区域,从而得到整个感兴趣区域。

s12、根据所述感兴趣区域的面积和亮度信息,确定所述预览图像的第一hdr值。

得到预览图像的感兴趣区域后,就可以得到感兴趣区域的面积以及亮度信息。首先根据roi区域的面积来动态设置roi区域对hdr的影响权值δroi,roi区域面积越大,则δroi越大。

δroi的表达式可以用公式(1)来表示,其中sroi为感兴趣区域的面积,sall为整幅所述预览图像的面积。

然后分析roi区域的亮度信息,得到roi区域的hdr响应值vroi,其表达式可以用公式(2)来表示,

其中,lave为感兴趣区域的亮度平均值,ltarget为感兴趣区域的亮度目标值,该值为预设值,可以设置调整最佳的亮度标准,droi为感兴趣区域的亮度方差值,方差值越大说明区域的亮度值越分散。

分析roi区域的亮度信息还有助于hdr算法曝光量的设定,hdr的基本原理是拍摄一张正常曝光的图片、一张过曝的图片和一张欠曝的图片,然后对三张图片进行合成处理。当检测到roi区域的曝光不正常时我们可以得到一张使roi区域曝光正常的图片、一张曝光正常的图片和一张非roi区域曝光正常的图片,然后对三张图片进行合成,这样合成的图片会更加符合用户的期望。

最后我们可以从roi的角度得到一个表示预览图像是否达到hdr处理的值hroi,记为第一hdr值,其表达式可以用公式(3)来表示,

hroi=k*δroi*vroi(3)

其中,k为调试系数,可以为取值范围0~1的任意实数。

s13、根据所述第一hdr值判断当前场景是否为hdr场景。

在这里,我们需要设置两个阈值hhdr和hno_hdr,来判断当前场景是否为hdr场景。

当hroi≥hhdr时,判断当前场景为hdr场景;

当hroi≤hno_hdr时,判断当前场景为非hdr场景;

当hno_hdr<hroi<hhdr时,需要利用所述预览图像的亮度直方图继续分析。首先计算所述预览图像的亮度直方图,亮度直方图的横轴表示亮度(0到255),纵轴表示对应亮度的像素数量。然后根据所述亮度直方图确定所述预览图像的第二hdr值,具体可以包括:搜索亮度直方图中的峰值区域,本专利中的峰值区域是指亮度直方图中具有一定宽度的一段区域,如果这段区域包含的像素总数超过整幅图像像素总数的1/8,则称其为峰值区域。发明人通过多次试验发现,在亮度直方图中使用16的宽度来搜索峰值区域效果最佳,亮度直方图的横轴取值范围是0~255,总宽度为256,判断峰值区域的表达式可以用公式(4)来表示,

其中,x为峰值区域的起始位置,hsi为像素数量。

搜索完峰值区域后,可能出现以下几种情形:

情形1:亮度直方图只有一个峰值区域,且所述峰值区域位于亮度直方图的中心区域,这里说的中心区域是指横坐标为区间(64,191)的区域。

情形2:亮度直方图只有一个峰值区域,且所述峰值区域不在亮度直方图的中心位置,此情形下,按照公式(5)计算所述预览图像的第二hdr值,

其中,hhsi为所述预览图像的第二hdr值,p1为所述峰值区域内像素总数,表达式为p为所述预览图像的像素总数,表达式为

情形3:亮度直方图有多个(两个或两个以上)峰值区域,且所述多个峰值区域在暗区和亮区都有分布,这里说的暗区是指横坐标为区间[0,127]的区域,亮区是指横坐标为区间[128,255]的区域,此情形下,按照公式(6)计算所述预览图像的第二hdr值,

其中,hhsi为所述预览图像的第二hdr值,xmin为最左侧峰值区域的起始位置,xmax为最右侧峰值区域的起始位置,p2为最左侧峰值区域内像素总数,表达式为p3为最右侧峰值区域内像素总数,表达式为

情形4:亮度直方图有多个(两个或两个以上)峰值区域,所述多个峰值区域只分布在亮区或暗区。

情形5:亮度直方图没有峰值区域,此情形下,将第二hdr值直接置为零。

如果当前场景属于情形2、情形3或者情形5,最后根据得到的第二hdr值hhsi以及第一hdr值hroi,判断当前场景是否为hdr场景。

定义一个表示预览图像的最终hdr程度的值hval,表达式用公式(7)表示,

hval=hroi+hhsi(7)

如果hval大于预先设置的门限值,则判断当前场景为hdr场景,否则判断当前场景为非hdr场景。

上述通过增加亮度直方图的分析,能够保证hdr场景检测结果更加准确。

需要补充说明的是,上述情形1和情形4,表示图像整体偏亮或偏暗,这可能是由于曝光错误引起,也可能是场景超过了相机的曝光能力,此类场景需要特殊处理,而不是表示为hdr场景或非hdr场景。

本发明实施例提供的hdr场景检测方法,通过提取当前场景的预览图像的感兴趣区域并根据所述感兴趣区域的面积和亮度信息,确定所述预览图像的第一hdr值,最后根据所述第一hdr值判断当前场景是否为hdr场景。与现有技术相比,本发明通过对感兴趣区域的亮度进行重点分析,提高了hdr场景检测的准确性,改善用户体验。

本发明实施例还提供一种hdr场景检测系统,如图3所示,所述系统包括:

提取模块31,用于提取当前场景的预览图像的感兴趣区域;

第一hdr值确定模块32,用于根据所述感兴趣区域的面积和亮度信息,确定所述预览图像的第一hdr值;

判断模块33,用于根据所述第一hdr值判断当前场景是否为hdr场景。

可选地,如图4所示,所述提取模块31包括:

检测单元311,用于采用物体检测算法检测所述预览图像的感兴趣区域;

寻找单元312,用于当所述检测单元311未检测到感兴趣区域时,采用图搜索算法寻找所述预览图像的感兴趣区域。

进一步地,如图5所示,所述寻找单元312包括:

分割子单元3121,用于将所述预览图像分割成3x3个等面积的区域;

rgb计算子单元3122,用于计算每个区域的rgb信息;

标记子单元3123,用于将中心区域标记为感兴趣区域,依次比较所述中心区域的各相邻区域和所述中心区域的rgb信息的相似性,当相邻区域和所述中心区域的rgb信息的相似性大于第一阈值时,标记该相邻区域为感兴趣区域。

可选地,所述第一hdr值确定模块32,用于按照公式计算所述预览图像的第一hdr值,其中,hroi为所述预览图像的第一hdr值,k为调试系数,sroi为感兴趣区域的面积,sall为整幅所述预览图像的面积,lave为感兴趣区域的亮度平均值,ltarget为感兴趣区域的亮度目标值,droi为感兴趣区域的亮度方差值。

可选地,如图6所示,所述判断模块33包括:

第一判断单元331,用于当所述第一hdr值大于或等于第二阈值时,判断当前场景为hdr场景;

第二判断单元332,用于当所述第一hdr值小于或等于第三阈值时,判断当前场景为非hdr场景;

直方图计算单元333,用于当所述第一hdr值小于所述第二阈值且大于所述第三阈值时,计算所述预览图像的亮度直方图;

第二hdr值确定单元334,用于根据所述亮度直方图确定所述预览图像的第二hdr值;

第三判断单元335,用于根据所述第一hdr值及所述第二hdr值判断当前场景是否为hdr场景。

进一步地,如图7所示,所述第二hdr值确定单元334包括:

搜索子单元3341,用于搜索所述亮度直方图的峰值区域;

第二hdr值计算子单元3342,用于当所述亮度直方图只有一个峰值区域且所述峰值区域不在亮度直方图的中心位置时,按照公式计算所述预览图像的第二hdr值,其中hhsi为所述预览图像的第二hdr值,p1为峰值区域内像素总数,p为所述预览图像的像素总数;或者,当所述亮度直方图有多个峰值区域且所述多个峰值区域在亮区和暗区都有分布时,按照公式计算所述预览图像的第二hdr值,其中hhsi为所述预览图像的第二hdr值,xmin为最左侧峰值区域的起始位置,xmax为最右侧峰值区域的起始位置,p2为最左侧峰值区域内像素总数,p3为最右侧峰值区域内像素总数;或者,当所述亮度直方图没有峰值区域时,将所述预览图像的第二hdr值置为零。

进一步地,所述第三判断单元335,用于当所述第一hdr值与所述第二hdr值之和大于第四阈值时,判断当前场景为hdr场景,否则判断当前场景为非hdr场景。

本发明实施例提供的hdr场景检测系统,通过提取当前场景的预览图像的感兴趣区域并根据所述感兴趣区域的面积和亮度信息,确定所述预览图像的第一hdr值,最后根据所述第一hdr值判断当前场景是否为hdr场景。与现有技术相比,本发明通过对感兴趣区域的亮度进行重点分析,提高了hdr场景检测的准确性,改善用户体验。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1