专利名称:拍摄场景检测方法、装置、电子设备和存储介质
专利类型:实用新型专利
专利申请号:CN202210763981.X
专利申请(专利权)人:OPPO广东移动通信有限公司
权利人地址:广东省东莞市长安镇乌沙海滨路18号
专利发明(设计)人:邹涵江
专利摘要:本申请涉及一种拍摄场景检测方法、装置、电子设备、存储介质和计算机程序产品。所述方法包括:从拍摄时的多帧预览图像中,确定目标图像和参考图像;将目标图像与参考图像进行图像对齐,得到对齐图像;根据对齐图像和参考图像间的图像差异,获得局部运动掩膜图像;对局部运动掩膜图像中的局部运动信息进行统计,得到局部运动量;根据局部运动量确定目标图像相应拍摄场景的局部运动状态;局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制。采用本方法能够提高拍摄场景检测的准确性。
主权利要求:
1.一种拍摄场景检测方法,其特征在于,包括:
从拍摄时的多帧预览图像中,确定目标图像和参考图像;
将所述目标图像与所述参考图像进行图像对齐,得到对齐图像;
根据所述对齐图像和所述参考图像间的图像差异,获得局部运动掩膜图像;
确定所述局部运动掩膜图像中的感兴趣区域;
分别统计所述感兴趣区域中的第一局部运动信息,以及所述局部运动掩膜图像中非感兴趣区域的第二局部运动信息;
将所述第一局部运动信息和所述第二局部运动信息进行加权融合,得到所述局部运动掩膜图像的局部运动量;
根据所述局部运动量确定所述目标图像相应拍摄场景的局部运动状态;所述局部运动状态用于在所述目标图像相应拍摄场景下进行拍摄控制。
2.根据权利要求1所述的方法,其特征在于,所述分别统计所述感兴趣区域中的第一局部运动信息,以及所述局部运动掩膜图像中非感兴趣区域的第二局部运动信息,包括:将所述感兴趣区域中各像素点进行累加,得到第一局部运动信息;
将所述局部运动掩膜图像中非感兴趣区域内各像素点进行累加,得到第二局部运动信息。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一局部运动信息和所述第二局部运动信息进行加权融合,得到所述局部运动掩膜图像的局部运动量,包括:获取所述感兴趣区域和所述非感兴趣区域各自对应的运动信息权重;
按照所述运动信息权重,将所述第一局部运动信息和所述第二局部运动信息进行加权融合,获得融合运动量;
通过所述多帧预览图像中在先预览图像的局部运动量,对所述融合运动量进行平滑处理,得到所述局部运动掩膜图像的局部运动量;所述在先预览图像的时间戳早于所述目标图像的时间戳。
4.根据权利要求1所述的方法,其特征在于,所述根据所述局部运动量确定所述目标图像相应拍摄场景的局部运动状态,包括:获取运动量阈值;
根据所述局部运动量与所述运动量阈值的比较结果,确定所述目标图像相应拍摄场景的局部运动状态。
5.根据权利要求4所述的方法,其特征在于,所述获取运动量阈值,包括:确定所述目标图像对应的设备运动参数;
获取与所述设备运动参数相匹配的运动量阈值。
6.根据权利要求1所述的方法,其特征在于,所述根据所述对齐图像和所述参考图像间的图像差异,获得局部运动掩膜图像,包括:将所述对齐图像和所述参考图像进行像素差分处理,得到差分图像;
根据所述目标图像与所述参考图像之间的特征匹配对数量,确定分隔阈值;
按照所述分隔阈值对所述差分图像进行图像分隔,获得局部运动掩膜图像。
7.根据权利要求1所述的方法,其特征在于,所述将所述目标图像与所述参考图像进行图像对齐,得到对齐图像,包括:从所述目标图像中,识别出与所述参考图像中的参考运动特征点相匹配的目标运动特征点;
根据所述目标运动特征点和相匹配参考运动特征点,得到所述目标图像与所述参考图像之间的特征匹配对;
基于所述特征匹配对,将所述目标图像与所述参考图像进行图像对齐,得到对齐图像。
8.根据权利要求7所述的方法,其特征在于,所述参考运动特征点包括参考角点,所述目标运动特征点包括目标角点;所述从所述目标图像中,识别出与所述参考图像中的参考运动特征点相匹配的目标运动特征点,包括:在所述目标图像中,搜索与所述参考图像中的参考角点相匹配的检测角点;所述参考角点,通过对所述参考图像进行角点检测得到;
对所述检测角点进行验证,根据验证结果为验证通过的检测角点,得到所述目标图像中的目标角点。
9.根据权利要求7所述的方法,其特征在于,所述基于所述特征匹配对,将所述目标图像与所述参考图像进行图像对齐,得到对齐图像,包括:从所述特征匹配对中获取目标特征匹配对;
根据所述目标特征匹配对确定变换矩阵;
按照所述变换矩阵,将所述目标图像与所述参考图像进行图像全局投影对齐,得到对齐图像。
10.根据权利要求1所述的方法,其特征在于,所述从拍摄时的多帧预览图像中,确定目标图像和参考图像,包括:从拍摄时的多帧预览图像中,获取目标图像;
若所述目标图像的跳帧标识表示所述目标图像为实际处理帧,从所述多帧预览图像中确定参考图像;所述参考图像为所述目标图像的前一个实际处理帧。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:若所述目标图像的跳帧标识表示所述目标图像为跳帧,从所述多帧预览图像中确定所述目标图像的前一个预览图像;
根据所述前一个预览图像的局部运动量,得到所述目标图像的局部运动量;
根据所述目标图像的局部运动量确定所述目标图像相应拍摄场景的局部运动状态。
12.根据权利要求1所述的方法,其特征在于,所述从拍摄时的多帧预览图像中,确定目标图像和参考图像,包括:获取拍摄时的多帧预览图像;
从所述多帧预览图像中确定原始目标图像和原始参考图像;
对所述原始目标图像和所述原始参考图像分别进行下采样处理,得到目标图像和参考图像。
13.根据权利要求1至12任意一项所述的方法,其特征在于,所述方法还包括:响应于在所述目标图像相应拍摄场景下触发的拍摄事件,确定所述局部运动状态对应的拍摄参数和成像处理策略;
按照所述拍摄参数和所述成像处理策略进行拍摄控制,得到所述拍摄事件对应的拍摄图像。
14.一种拍摄场景检测装置,其特征在于,包括:处理图像确定模块,用于从拍摄时的多帧预览图像中,确定目标图像和参考图像;
图像对齐模块,用于将所述目标图像与所述参考图像进行图像对齐,得到对齐图像;
掩膜图像获取模块,用于根据所述对齐图像和所述参考图像间的图像差异,获得局部运动掩膜图像;
运动信息统计模块,用于确定所述局部运动掩膜图像中的感兴趣区域;分别统计所述感兴趣区域中的第一局部运动信息,以及所述局部运动掩膜图像中非感兴趣区域的第二局部运动信息;将所述第一局部运动信息和所述第二局部运动信息进行加权融合,得到所述局部运动掩膜图像的局部运动量;
运动状态确定模块,用于根据所述局部运动量确定所述目标图像相应拍摄场景的局部运动状态;所述局部运动状态用于在所述目标图像相应拍摄场景下进行拍摄控制。
15.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至13中任一项所述的拍摄场景检测方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至13中任一项所述的方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。 说明书 : 拍摄场景检测方法、装置、电子设备和存储介质技术领域[0001] 本申请涉及图像拍摄技术领域,特别是涉及一种拍摄场景检测方法、装置、电子设备和计算机可读存储介质。背景技术[0002] 在图像拍摄时,如果拍摄场景中存在运动,如针对拍摄的对象处在运动状态时,会导致拍摄得到的图像产生运动模糊,影响拍摄的成像质量。目前,为解决拍照运动模糊问题,大多通过检测拍摄场景中的运动情况,根据检测到的运动情况对拍摄的图像进行拍摄优化,如调整曝光策略以提高图像成像质量。然而,目前的拍摄场景检测处理的运动检测能力有限,无法准确检测到拍摄场景中的运动情况。发明内容[0003] 本申请实施例提供了一种拍摄场景检测方法、装置、电子设备、计算机可读存储介质,可以提高拍摄场景检测的准确性。[0004] 第一方面,本申请提供了一种拍摄场景检测方法。所述方法包括:[0005] 从拍摄时的多帧预览图像中,确定目标图像和参考图像;[0006] 将目标图像与参考图像进行图像对齐,得到对齐图像;[0007] 根据对齐图像和参考图像间的图像差异,获得局部运动掩膜图像;[0008] 对局部运动掩膜图像中的局部运动信息进行统计,得到局部运动量;[0009] 根据局部运动量确定目标图像相应拍摄场景的局部运动状态;局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制。[0010] 第二方面,本申请还提供了一种拍摄场景检测装置。所述装置包括:[0011] 处理图像确定模块,用于从拍摄时的多帧预览图像中,确定目标图像和参考图像;[0012] 图像对齐模块,用于将目标图像与参考图像进行图像对齐,得到对齐图像;[0013] 掩膜图像获取模块,用于根据对齐图像和参考图像间的图像差异,获得局部运动掩膜图像;[0014] 运动信息统计模块,用于对局部运动掩膜图像中的局部运动信息进行统计,得到局部运动量;[0015] 运动状态确定模块,用于根据局部运动量确定目标图像相应拍摄场景的局部运动状态;局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制。[0016] 第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:从拍摄时的多帧预览图像中,确定目标图像和参考图像;将目标图像与参考图像进行图像对齐,得到对齐图像;根据对齐图像和参考图像间的图像差异,获得局部运动掩膜图像;对局部运动掩膜图像中的局部运动信息进行统计,得到局部运动量;根据局部运动量确定目标图像相应拍摄场景的局部运动状态;局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制。[0017] 第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:从拍摄时的多帧预览图像中,确定目标图像和参考图像;将目标图像与参考图像进行图像对齐,得到对齐图像;根据对齐图像和参考图像间的图像差异,获得局部运动掩膜图像;对局部运动掩膜图像中的局部运动信息进行统计,得到局部运动量;根据局部运动量确定目标图像相应拍摄场景的局部运动状态;局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制。[0018] 第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:从拍摄时的多帧预览图像中,确定目标图像和参考图像;将目标图像与参考图像进行图像对齐,得到对齐图像;根据对齐图像和参考图像间的图像差异,获得局部运动掩膜图像;对局部运动掩膜图像中的局部运动信息进行统计,得到局部运动量;根据局部运动量确定目标图像相应拍摄场景的局部运动状态;局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制。[0019] 上述拍摄场景检测方法、装置、计算机设备、存储介质和计算机程序产品,从拍摄时的多帧预览图像中确定目标图像和参考图像,根据目标图像按照参考图像对齐得到的对齐图像,与参考图像间的图像差异得到局部运动掩膜图像,对局部运动掩膜图像中的局部运动信息进行统计,并根据统计得到的局部运动量确定目标图像相应拍摄场景的局部运动状态,局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制。目标图像和参考图像均来自拍摄时的多帧预览图像,通过目标图像的对齐图像和参考图像确定局部运动掩膜图像,并利用局部运动掩膜图像中局部运动信息的统计结果确定拍摄场景的局部运动状态,能够准确检测到拍摄场景中存在的局部运动,从而提高了拍摄场景检测的准确性。附图说明[0020] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0021] 图1为一个实施例中拍摄场景检测方法的应用环境图;[0022] 图2为一个实施例中拍摄场景检测方法的流程图;[0023] 图3为一个实施例中统计局部运动信息的流程图;[0024] 图4为一个实施例中拍摄图像出现运动鬼影的示意图;[0025] 图5为一个实施例中拍摄图像出现夜景运动模糊的示意图;[0026] 图6为一个实施例中拍摄图像出现细节丢失的示意图;[0027] 图7为另一个实施例中拍摄场景检测的流程图;[0028] 图8为一个实施例中针对预览图像流进行拍摄场景检测的处理示意图;[0029] 图9为一个实施例中跳帧处理的示意图;[0030] 图10为一个实施例中角点检测的示意图;[0031] 图11为一个实施例中角点跟踪处理的示意图;[0032] 图12为一个实施例中局部运动量统计的流程图;[0033] 图13为一个实施例中拍摄场景检测装置的结构框图;[0034] 图14为一个实施例中电子设备的内部结构图;[0035] 图15为另一个实施例中电子设备的内部结构图。具体实施方式[0036] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。[0037] 本申请实施例提供的拍摄场景检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102从拍摄时的多帧预览图像中确定目标图像和参考图像,根据目标图像按照参考图像对齐得到的对齐图像,与参考图像间的图像差异得到局部运动掩膜图像,对局部运动掩膜图像中的局部运动信息进行统计,并根据统计得到的局部运动量确定目标图像相应拍摄场景的局部运动状态,局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制,在拍摄得到图像后,终端102可以将拍摄得到的图像发送到服务器104进行进一步图像处理。此外,拍摄场景检测方法还可以由服务器104单独执行,或基于终端102与服务器104的交互进行实现。[0038] 其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备等配备有摄像头,能够进行拍摄的各种电子设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。[0039] 在一个实施例中,如图2所示,提供了一种拍摄场景检测方法,该方法可以应用于终端,也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,以该方法应用于图1中的终端为例进行说明,包括以下步骤:[0040] 步骤202,从拍摄时的多帧预览图像中,确定目标图像和参考图像。[0041] 其中,预览图像是在拍摄时,于拍摄设备上进行预览展示的图像。一般拍摄设备在启动时,如电子设备的相机应用启动时,会在相机应用的界面中实时显示预览图像,预览图像是相机启动后实时捕捉到的画面。相机实时捕捉画面进行预览,即会捕捉到多帧预览图像。预览图像可以是相机在启动后自动捕捉的图像,并非相机实际拍摄得到的图像。目标图像和参考图像均从预览图像中确定,即目标图像和参考图像均是电子设备,如终端的预览图像。目标图像是本次拍摄场景所对应处理的图像,参考图像是目标图像进行拍摄场景检测处理时的参考对象,即通过基于参考图像进行参考,针对目标图像进行拍摄场景检测,以确定目标图像相应拍摄场景中的运动情况。[0042] 具体地,电子设备在启动拍摄功能时,如相机应用被触发启动时,会捕捉预览图像,具体可以实时进行图像采集,得到多帧预览图像,电子设备从多帧预览图像中确定目标图像和参考图像。在具体实现时,目标图像可以是当前时刻捕捉的预览图像,而参考图像可以是前一时刻捕捉的预览图像,从而根据目标图像和参考图像对当前时刻的拍摄场景进行检测处理。[0043] 步骤204,将目标图像与参考图像进行图像对齐,得到对齐图像。[0044] 其中,图像对齐,也称为图像配准,是使一个图像变形以使其与另一个图像中的特征完美对齐的处理。图像对齐处理可以采用最小二乘算法、RANSAC(randomsampleconsensus,随机采样一致性)算法、Homography(单应性)算法等,将目标图像与参考图像进行对齐,得到对齐图像。对齐图像是通过将目标图像进行变形、转换成与参考图像完成对齐得到的对齐结果。具体地,电子设备将目标图像与参考图像进行图像对齐处理,具体可以将目标图像与参考图像进行全局对齐,得到对齐图像。在具体应用时,电子设备可以分别从目标图像与参考图像中提取图像特征,提取的图像特征可以为角点,并将各自提取的图像特征进行匹配,从而求解得到目标图像与参考图像之间的对齐矩阵,并按照该对齐矩阵对目标图像进行变换,得到对齐图像。[0045] 步骤206,根据对齐图像和参考图像间的图像差异,获得局部运动掩膜图像。[0046] 其中,图像差异用于表示对齐图像和参考图像之间的差别,具体可以通过对齐图像和参考图像之间各个像素点的像素值差异确定。局部运动掩膜图像根据对齐图像和参考图像间的图像差异得到,可以表征出对齐图像和参考图像之间由于局部运动带来的差别。局部运动掩膜图像具体可以根据对齐图像和参考图像之间的差分图像得到。[0047] 具体地,终端确定对齐图像和参考图像间的图像差异,如终端可以将对齐图像和参考图像之间对应像素进行作差,得到对齐图像和参考图像之间的差分图像。对齐图像和参考图像间的图像差异可以是由拍摄场景中存在的运动所带来的,图像差异越大则表明拍摄场景中存在的运动越剧烈,图像差异越小则表明拍摄场景中存在的运动范围越小,即存在的可以是属于局部运动。终端根据图像差异得到局部运动掩膜图像,能够使得局部运动掩膜图像携带有目标图像相应拍摄场景的运动情况。在具体应用时,终端可以根据对齐图像和参考图像确定差分图像,并对差分图像进行二值化处理,得到局部运动掩膜图像。[0048] 步骤208,对局部运动掩膜图像中的局部运动信息进行统计,得到局部运动量。[0049] 其中,局部运动信息是局部运动掩膜图像中与拍摄场景中局部运动相关的信息,局部运动信息能够反映出拍摄场景中的局部运动情况。在具体应用中,局部运动信息可以是像素点的数量、像素累加和等。局部运动量根据针对局部运动信息的统计结果得到,局部运动量可以表示出拍摄场景中的局部运动情况,如表示出拍摄场景中的局部运动的剧烈程度,具体可以对拍摄场景中的局部运动情况进行量化表示。[0050] 具体地,终端确定局部运动掩膜图像中的局部运动信息,并对局部运动信息进行统计,得到局部运动掩膜图像的局部运动量,该局部运动量可以表示出目标图像相应拍摄场景中存在的局部运动情况。[0051] 步骤210,根据局部运动量确定目标图像相应拍摄场景的局部运动状态;局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制。[0052] 其中,局部运动状态反映了拍摄场景中存在的局部运动,局部运动状态具体可以对拍摄场景中的局部运动情况进行量化表征。局部运动状态可以用于在目标图像相应拍摄场景下进行拍摄控制,具体包括在拍摄场景中拍摄时对拍摄参数进行控制、对成像处理进行控制等,基于拍摄场景中确定的局部运动状态对拍摄进行针对性控制,能够有效提高在该拍摄场景下的成像质量。[0053] 具体地,终端根据得到的局部运动量对目标图像相应拍摄场景进行检测,以确定目标图像相应拍摄场景中的局部运动状态,从而通过局部运动状态对目标图像相应拍摄场景中所存在的局部运动情况进行准确地描述。终端得到局部运动状态后,可以在目标图像相应拍摄场景下触发拍摄时,基于局部运动状态进行拍摄控制,如调整曝光时长、调整抓拍算法等,从而提高拍摄成像质量。[0054] 上述拍摄场景检测方法中,从拍摄时的多帧预览图像中确定目标图像和参考图像,根据目标图像按照参考图像对齐得到的对齐图像,与参考图像间的图像差异得到局部运动掩膜图像,对局部运动掩膜图像中的局部运动信息进行统计,并根据统计得到的局部运动量确定目标图像相应拍摄场景的局部运动状态,局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制。目标图像和参考图像均来自拍摄时的多帧预览图像,通过目标图像的对齐图像和参考图像确定局部运动掩膜图像,并利用局部运动掩膜图像中局部运动信息的统计结果确定拍摄场景的局部运动状态,能够准确检测到拍摄场景中存在的局部运动,从而提高了拍摄场景检测的准确性。[0055] 在一个实施例中,如图3所示,统计局部运动信息的处理,即对局部运动掩膜图像中的局部运动信息进行统计,得到局部运动量,包括:[0056] 步骤302,确定局部运动掩膜图像中的感兴趣区域。[0057] 其中,感兴趣区域是局部运动掩膜图像中主要关注的图像区域,具体可以是图像的中心像素区域,也可以是包括对焦点的像素区域。在进行图像拍摄时,画面的中心处或者对焦处一般是拍摄关注点,需要确保该部分区域的成像质量,即可以将该部分图像区域确定为感兴趣区域。[0058] 具体地,终端确定局部运动掩膜图像中的感兴趣区域,感兴趣区域的确定逻辑可以根据实际需要进行设置。例如,可以将图像的中心像素区域确定为感兴趣区域,也可以将对焦点所在的像素区域确定为感兴趣区域。还可以将二者进行结合,例如,终端可以将图像的中心像素区域和对焦点所在的像素区域均确定为感兴趣区域。[0059] 步骤304,分别统计感兴趣区域中的第一局部运动信息,以及局部运动掩膜图像中非感兴趣区域的第二局部运动信息。[0060] 其中,局部运动掩膜图像划分为感兴趣和非感兴趣区域,局部运动掩膜图像中除感兴趣区域外的其他图像区域即为非感兴趣区域。局部运动掩膜图像中的局部运动信息可能散落在不同的图像区域,即可以存在于感兴趣区域中,也可以存在于非感兴趣区域中。第一局部运动信息为处于感兴趣区域中的局部运动信息,第二局部运动信息为处于非感兴趣区域中的局部运动信息。[0061] 具体地,终端通过感兴趣区域将局部运动掩膜图像进行图像区域划分,并分别统计感兴趣区域中的第一局部运动信息,以及局部运动掩膜图像中非感兴趣区域的第二局部运动信息。例如,终端可以分别统计感兴趣区域和非感兴趣区域中的累加像素和,即统计感兴趣区域和非感兴趣区域各自图像区域中的像素点数量。[0062] 步骤306,将第一局部运动信息和第二局部运动信息进行加权融合,得到局部运动掩膜图像的局部运动量。[0063] 其中,加权融合是指按照权重,将第一局部运动信息和第二局部运动信息进行融合处理。感兴趣区域和非感兴趣区域中的局部运动信息可以分别对应于不同的权重,感兴趣区域的权重可以大于非感兴趣区域的权重,从而能够得到更准确的局部运动信息。[0064] 具体地,终端将第一局部运动信息和第二局部运动信息进行加权融合,具体可以由终端确定感兴趣区域和非感兴趣区域各自的运动信息权重,运动信息权重可以根据实际需要,预先针对感兴趣区域和非感兴趣区域进行设置。终端按照运动信息权重将第一局部运动信息和第二局部运动信息进行加权融合,如可以按照运动信息权重进行加权求和,得到局部运动掩膜图像的局部运动量。局部运动量针对感兴趣区域和非感兴趣区域中的局域运动信息加权融合得到,可以准确反映出目标图像相应拍摄场景中的局部运动情况。[0065] 本实施例中,分别统计局部运动掩膜图像中的感兴趣区域和非感兴趣区域中的局部运动信息,并将统计的局部运动信息进行加权融合,可以突出目标图像相应拍摄场景中关注范围中的局部运动情况,通过加权融合得到的局部运动量能够更准确地表示出目标图像相应拍摄场景中存在的局部运动,从而提高了拍摄场景检测的准确性。[0066] 在一个实施例中,分别统计感兴趣区域中的第一局部运动信息,以及局部运动掩膜图像中非感兴趣区域的第二局部运动信息,包括:将感兴趣区域中各像素点进行累加,得到第一局部运动信息;将局部运动掩膜图像中非感兴趣区域内各像素点进行累加,得到第二局部运动信息。[0067] 其中,局部运动信息可以通过统计图像区域中的像素点的数量得到,即局部运动信息可以是图像区域中覆盖的像素点的累加和。具体地,终端确定局部运动掩膜图像的感兴趣区域中的各个像素点,并将各个像素点进行累加,得到第一局部运动信息。终端确定局部运动掩膜图像中非感兴趣区域内的局部运动掩膜图像中非感兴趣区域内,并将各像素点进行累加得到第二局部运动信息。[0068] 本实施例中,通过累加像素和的方式,得到局部运动掩膜图像中感兴趣区域和非感兴趣区域内的局部运动信息,可以简化局部运动信息的统计处理,在获得能够准确反映局部运动情况的局部运动信息的同时,可以有效提高拍摄场景检测的处理效率,有利于实现进行实时检测。[0069] 此外,终端也可以通过统计图像区域中的各个像素点的像素值得到局部运动信息,具体可以将图像区域内各个像素点的像素值进行累加,得到该图像区域的局部运动信息,图像区域可以是感兴趣区域,也可以是非感兴趣区域。通过统计各个像素点的像素值得到局部运动信息,可以从像素值层面准确确定局部运动信息,从而有利于提高拍摄场景的准确性。[0070] 在一个实施例中,将第一局部运动信息和第二局部运动信息进行加权融合,得到局部运动掩膜图像的局部运动量,包括:获取感兴趣区域和非感兴趣区域各自对应的运动信息权重;按照运动信息权重,将第一局部运动信息和第二局部运动信息进行加权融合,获得融合运动量;通过多帧预览图像中在先预览图像的局部运动量,对融合运动量进行平滑处理,得到局部运动掩膜图像的局部运动量;在先预览图像的时间戳早于目标图像的时间戳。[0071] 其中,运动信息权重针对感兴趣区域和非感兴趣区域分别设置,运动信息权重设置的具体数值大小可以根据实际需要进行确定。融合运动量是将感兴趣区域和非感兴趣区域各自的局部运动信息进行加权融合后得到的融合结果。在先预览图像的时间戳早于目标图像的时间戳,即在先预览图像也属于预览图像,在是目标图像之前进行捕捉得到的。[0072] 具体地,终端确定感兴趣区域和非感兴趣区域各自对应的运动信息权重,具体可以由终端进行查询,查询得到预先为感兴趣区域和非感兴趣区域设置的运动信息权重。终端按照得到的运动信息权重,将第一局部运动信息和第二局部运动信息进行加权融合,具体可以将第一局部运动信息和第二局部运动信息进行加权求和,得到融合运动量。终端获取多帧预览图像中在先预览图像的局部运动量,并利用在先预览图像的局部运动量对融合运动量进行平滑处理,如可以进行滤波平滑处理,得到局部运动掩膜图像的局部运动量。在先预览图像的时间戳早于目标图像的时间戳,即在先预览图像于目标图像之前捕捉得到,在先预览图像的数量可以根据实际需要进行设置,从而可以通过不同数量的在先预览图像各自的局部运动量,对局部运动掩膜图像的局部运动量进行平滑处理,提高局部运动掩膜图像的局部运动量的准确性。[0073] 本实施例中,终端按照预先设定的运动信息权重,将第一局部运动信息和第二局部运动信息进行加权融合,并通过在先预览图像的局部运动量对融合运动量进行平滑处理,可以避免局部运动量出现跳变的情况,从而提高局部运动掩膜图像的局部运动量的准确性。[0074] 在一个实施例中,根据局部运动量确定目标图像相应拍摄场景的局部运动状态,包括:获取运动量阈值;根据局部运动量与运动量阈值的比较结果,确定目标图像相应拍摄场景的局部运动状态。[0075] 其中,运动量阈值用于对拍摄场景中的局部运动情况进行判定,如可以判定拍摄场景中是否存在局部运动,或者判定拍摄场景中局部运动的幅度等。运动量阈值可以根据实际需要进行设置,运动量阈值设置的数量可以为1个,则可以通过运动量阈值判定拍摄场景中是否存在局部运动;运动量阈值设置的数量可以多个,则可以通过运动量阈值判定拍摄场景中局部运动的幅度。[0076] 具体地,终端获取预先设定的运动量阈值,并将局部运动掩膜图像的局部运动量与运动量阈值进行比较,如比较局部运动量与运动量阈值之间的数值大小,得到比较结果。终端根据局部运动量与运动量阈值的比较结果,确定目标图像相应拍摄场景的局部运动状态。具体实现时,局部运动状态针对局部运动的描述内容可以根据实际需要进行设置。例如,局部运动状态可以包括拍摄场景中是否存在局部运动的判定结果,也可以包括拍摄场景中存在的局部运动的幅度,还可以包括拍摄场景中存在的局部运动的区域等。[0077] 本实施例中,终端通过局部运动量与运动量阈值的比较结果,确定目标图像相应拍摄场景的局部运动状态,从而利用预先设定的运动量阈值判定出目标图像相应拍摄场景的局部运动状态,可以准确、高效地对拍摄场景中的局部运动进行检测。[0078] 在一个实施例中,获取运动量阈值,包括:确定目标图像对应的设备运动参数;获取与设备运动参数相匹配的运动量阈值。[0079] 其中,设备运动参数是指拍摄设备本身的运动参数,拍摄设备可以终端,则设备运动参数可以是终端在拍摄时的运动参数。设备运动参数反映了拍摄设备在拍摄时的运动,如拍摄设备因抖动而产生的运动等。设备运动参数可以根据拍摄设备上的陀螺仪数据得到,从而确定拍摄设备自身在拍摄场景中运动情况。拍摄设备发生运动时,也会影响拍摄画面。拍摄设备在不同运动情况下,需要设置不同的运动量阈值,以确保通过局部运动量能够准确确定拍摄场景中的局部运动情况。[0080] 具体地,终端确定目标图像对应的设备运动参数,具体可以由终端获取终端的陀螺仪数据,根据陀螺仪数据可以确定终端在捕捉目标图像时对应的运动情况。终端基于设备运动参数,确定相应匹配的运动量阈值,运动量阈值与设备运动参数相匹配,可以通过适应于设备本身运动的运动量阈值,对局部运动量进行准确地局部运动判定。在具体实现时,可以预先设置基础运动量阈值,终端根据设备运动参数对基础运动量阈值进行动态调整,从而得到与设备运动参数相匹配的运动量阈值。[0081] 本实施例中,基于目标图像对应的设备运动参数确定相匹配的运动量阈值,从而可以通过适应于设备本身运动的运动量阈值,对局部运动量进行准确地局部运动判定。[0082] 在一个实施例中,根据对齐图像和参考图像间的图像差异,获得局部运动掩膜图像,包括:将对齐图像和参考图像进行像素差分处理,得到差分图像;根据目标图像与参考图像之间的特征匹配对数量,确定分隔阈值;按照分隔阈值对差分图像进行图像分隔,获得局部运动掩膜图像。[0083] 其中,差分图像由对齐图像和参考图像进行像素差分处理得到,具体可以由对齐图像和参考图像各个对应像素之间的像素值差得到。分隔阈值用于对差分图像进行图像分隔,具体可以对差分图像进行二值化分隔,以得到局部运动掩膜图像。分隔阈值与目标图像同参考图像之间特征匹配对数量相关,特征匹配对数量是指目标图像与参考图像中特征点组成的匹配对的数量。特征匹配对数量越多,表明目标图像与参考图像中相匹配的特征点的数量越多,目标图像与参考图像进行对齐的对齐图像可靠程度越高。[0084] 具体地,终端将对齐图像和参考图像进行像素差分处理,具体终端可以将对齐图像和参考图像中对应位置处的像素点的像素值进行作差,得到对齐图像和参考图像之间的差分图像。终端确定目标图像与参考图像之间的特征匹配对数量,特征匹配对数量可以在将目标图像与参考图像进行对齐时确定得到。终端根据特征匹配对数量确定分隔阈值,具体可以使得分隔阈值与特征匹配对数量正相关,即特征匹配对数量越大,则对应的分隔阈值可以设置更大,从而能自适应地对图像进行有效分隔。终端按照分隔阈值对差分图像进行图像分隔,具体可以由终端按照分隔阈值将差分图像进行二值化分隔,得到局部运动掩膜图像,局部运动掩膜图像携带了局部运动信息。[0085] 进一步地,为了使局部运动掩膜图像的边缘更平滑,终端还可以对局部运动掩膜图像进行滤波处理,如可以设置滤波参数对局部运动掩膜图像进行膨胀、腐蚀计算,从而对局部运动掩膜图像进行平滑处理,得到更平滑的局部运动掩膜图像。[0086] 本实施例中,终端根据目标图像和参考图像之间的特征匹配对数量,动态确定分隔阈值,并按照分隔阈值对对齐图像和参考图像之间的差分图像进行图像分隔,从而根据目标图像和参考图像之间的特征匹配对数量,自适应地对差分图像进行有效分隔,可以确保局部运动掩膜图像的准确性,从而提高拍摄场景检测的准确性。[0087] 在一个实施例中,将目标图像与参考图像进行图像对齐,得到对齐图像,包括:从目标图像中,识别出与参考图像中的参考运动特征点相匹配的目标运动特征点;根据目标运动特征点和相匹配参考运动特征点,得到目标图像与参考图像之间的特征匹配对;基于特征匹配对,将目标图像与参考图像进行图像对齐,得到对齐图像。[0088] 其中,运动特征点是图像中与运动相关的特征点,具体可以是图像中的角点。角点是图像中两条边的交点,即角点的部分邻域具有两个不同范围和不同方向的边界,通过图像中存在的角点,可以检测出图像中的局部运动信息。参考运动特征点是参考图像中的运动特征点,具体可以是参考图像中的角点;目标运动特征点是目标图像中的运动特征点,具体可以是目标图像中的角点。特征匹配对,是目标图像中的运动特征点与参考图像中的运动特征点相匹配的特征点形成的匹配对。[0089] 具体地,终端从目标图像中,识别出与参考图像中的参考运动特征点相匹配的目标运动特征点,具体可由终端确定参考图像中的参考运动特征点,并在目标图像中检测到与参考运动特征点相匹配的目标运动特征点。终端将相互匹配的目标运动特征点和参考运动特征点组成特征匹配对,特征匹配对的数量可以反映目标图像与参考图像之间的相似程度。终端基于特征匹配对将目标图像与参考图像进行对齐,从而得到对齐图像。具体可由终端基于特征匹配对确定变换矩阵,并按照变换矩阵将目标图像进行变换,得到对齐图像。[0090] 本实施例中,基于目标图像和参考图像之间相匹配运动特征点组成的特征匹配对,将目标图像和参考图像进行图像对齐,从而能够确保图像对齐效果。[0091] 在一个实施例中,参考运动特征点包括参考角点,目标运动特征点包括目标角点;从目标图像中,识别出与参考图像中的参考运动特征点相匹配的目标运动特征点,包括:在目标图像中,搜索与参考图像中的参考角点相匹配的检测角点;参考角点,通过对参考图像进行角点检测得到;对检测角点进行验证,根据验证结果为验证通过的检测角点,得到目标图像中的目标角点。[0092] 其中,运动特征点包括图像中的角点,即参考运动特征点包括参考角点,目标运动特征点包括目标角点。检测角点是从目标图像中检测出的与参考角点相匹配的角点,而参考角点可以通过对参考图像进行角点检测得到。角点检测可以通过Harris角点检测算法、Shi‑Tomasi角点检测算法等各种角点检测算法实现。目标角点通过对检测角点进行验证得到,具体可以根据验证通过的检测角点,确定目标角点。[0093] 具体地,终端在目标图像中,搜索与参考图像中的参考角点相匹配的检测角点。具体可由终端确定参考图像中的参考角点,如终端可以对参考图像进行角点检测,以检测出参考图像中的参考角点。终端在目标图像中,对参考图像中的参考角点进行搜索,以搜索得到检测角点。终端对得到的检测角点进行验证,如可以针对检测角点进行交叉验证处理,以对各个检测角点进行筛选,并根据验证结果为验证通过的检测角点得到目标图像中的目标角点。[0094] 本实施例中,通过在目标图像中搜索与参考角点相匹配的检测角点,并对检测角点进行验证,可以提高角点识别的准确性。[0095] 在一个实施例中,基于特征匹配对,将目标图像与参考图像进行图像对齐,得到对齐图像,包括:从特征匹配对中获取目标特征匹配对;根据目标特征匹配对确定变换矩阵;按照变换矩阵,将目标图像与参考图像进行图像全局投影对齐,得到对齐图像。[0096] 其中,目标特征匹配对从特征匹配对中选取得到,用于确定变换矩阵。变换矩阵为将目标图像进行全局对齐处理时,将目标图像进行变换时的矩阵。具体地,终端从特征匹配对中获取目标特征匹配对,如可以由终端从特征匹配对中随机抽取一定数量的目标特征匹配对。终端基于获得的目标特征匹配对确定变换矩阵,如可以由终端采用RANSAC算法迭代计算得到Homograph的最优解,从而确定目标图像与参考图像之间的变换矩阵。终端按照该变换矩阵,将目标图像与参考图像进行图像全局投影对齐,具体可由终端将目标图像按照变换矩阵,向参考图像进行图像全局投影对齐,即将目标图像按照变换矩阵投影到参考图像的平面中,得到对齐图像。[0097] 本实施例中,终端根据从特征匹配对中获取的目标特征匹配对确定变换矩阵,并按照变换矩阵将目标图像与参考图像进行对齐,可以利用角点将目标图像与参考图像进行全局对齐,提高图像对齐效果。[0098] 在一个实施例中,从拍摄时的多帧预览图像中,确定目标图像和参考图像,包括:从拍摄时的多帧预览图像中,获取目标图像;若目标图像的跳帧标识表示目标图像为实际处理帧,从多帧预览图像中确定参考图像;参考图像为目标图像的前一个实际处理帧。[0099] 其中,跳帧标识用于标识预览图像是否实际进行局部运动量检测处理,若跳帧标识表示预览图像为实际处理帧,则需要针对该预览图像进行拍摄场景检测的处理,即需要针对该预览图像检测出局部运动量以确定相应的拍摄场景。若跳帧标识表示预览图像为跳帧,即表明该预览图像可以跳过检测局部运动量检测处理。[0100] 具体地,终端从拍摄时的多帧预览图像中获取目标图像,具体可以由终端将最新捕捉到的预览图像作为目标图像,以对预览图像实时进行拍摄场景检测处理。终端可以查询该目标图像的跳帧标识,以确定是否需要针对该目标图像进行局部运动量检测的处理。若目标图像的跳帧标识表示目标图像为实际处理帧,则终端从多帧预览图像中确定参考图像,具体可以将前一个实际处理帧,作为目标图像的参考图像。[0101] 本实施例中,在从预览图像中获取的目标图像的跳帧标识表示目标图像为实际处理帧时,将目标图像的前一个实际处理帧确定为参考图像,从而可以通过跳帧标识来降低实际进行局部运动量检测处理的图像数量,能够降低数据处理量,从而提高拍摄场景检测的处理效率。[0102] 在一个实施例中,拍摄场景检测方法还包括:若目标图像的跳帧标识表示目标图像为跳帧,从多帧预览图像中确定目标图像的前一个预览图像;根据前一个预览图像的局部运动量,得到目标图像的局部运动量;根据目标图像的局部运动量确定目标图像相应拍摄场景的局部运动状态。[0103] 其中,跳帧是指预览图像不实际针对进行局部运动量检测的处理,而是通过参考图像的局部运动量,来参考得到该预览图像的局部运动量。具体地,若终端根据目标图像的跳帧标识,确定目标图像为跳帧时,终端从多帧预览图像中确定目标图像的前一个预览图像,前一个预览图像可以是前一个时刻捕捉得到的预览图像。终端确定前一个预览图像的局部运动量,并根据前一个预览图像的局部运动量,得到目标图像的局部运动量。具体应用中,终端可以直接将前一个预览图像的局部运动量,作为目标图像的局部运动量。确定目标图像的局部运动量后,终端可以根据目标图像的局部运动量确定目标图像相应拍摄场景的局部运动状态,局部运动状态可以用于在目标图像相应拍摄场景下进行拍摄控制。[0104] 本实施例中,在终端根据目标图像的跳帧标识确定目标图像为跳帧时,直接根据前一个预览图像的局部运动量确定该目标图像的局部运动量,能够降低局部运动量检测的数据处理量,从而提高拍摄场景检测的处理效率。[0105] 在一个实施例中,从拍摄时的多帧预览图像中,确定目标图像和参考图像,包括:获取拍摄时的多帧预览图像;从多帧预览图像中确定原始目标图像和原始参考图像;对原始目标图像和原始参考图像分别进行下采样处理,得到目标图像和参考图像。[0106] 其中,原始目标图像和原始参考图像是指直接从多帧预览图像确定的初始图像,而目标图像可以是针对原始目标图像通过下采样处理进行缩小后得到的图像,参考图像可以是针对原始参考图像通过下采样处理进行缩小后得到的图像。具体地,终端获取拍摄时的多帧预览图像,并从多帧预览图像中确定原始目标图像和原始参考图像。具体可以由终端将最新捕捉到的预览图像作为原始目标图像,并将从预览图像流中确定原始目标图像所对应的原始参考图像,以对预览图像实时进行拍摄场景检测处理。终端分别对原始目标图像和原始参考图像进行下采样处理,如对原始目标图像和原始参考图像分别进行抗锯齿下采样处理,以将原始目标图像和原始参考图像进行缩小,得到目标图像和参考图像。[0107] 本实施例中,目标图像通过对多帧预览图像中的原始目标图像进行下采样处理得到,参考图像通过对多帧预览图像中的原始参考图像进行下采样处理得到,基于缩小后的目标图像和参考图像进行拍摄场景检测,可以减少图像处理的数据量,从而提高拍摄场景检测的处理效率。[0108] 在一个实施例中,拍摄场景检测方法还包括:响应于在目标图像相应拍摄场景下触发的拍摄事件,确定局部运动状态对应的拍摄参数和成像处理策略;按照拍摄参数和成像处理策略进行拍摄控制,得到拍摄事件对应的拍摄图像。[0109] 其中,拍摄事件是指触发进行拍摄的事件,具体可以由定时拍摄条件触发生成、用户通过拍摄操作生成等。拍摄参数是在目标图像相应拍摄场景下进行图像拍摄时的各种参数,可以包括但不限于包括曝光时长、光圈大小等;成像处理策略是指针对拍摄的图像进行成像处理过程中的各种处理策略,如成像处理策略可以包括在高动态范围成像中针对图像进行融合的融合算法、抓拍算法处理等。拍摄图像是响应于拍摄事件所拍摄得到的图像。[0110] 具体地,在目标图像相应拍摄场景下触发拍摄事件时,若用户点击拍摄按钮,或者触发定时拍摄时,终端响应于该拍摄事件,确定局部运动状态对应的拍摄参数和成像处理策略。不同的局部运动状态可以对应于不同的拍摄参数和成像处理策略,局部运动状态与拍摄参数、成像处理策略之间的对应关系可以根据实际需要预先建立,终端通过查询该对应关系,可以根据目标图像相应拍摄场景中的局部运动状态,确定相应的拍摄参数和成像处理策略。终端按照确定的拍摄参数和成像处理策略进行拍摄控制,如控制曝光时长、控制是否触发抓拍算法等,从而得到拍摄事件对应的拍摄图像。[0111] 本实施例中,根据目标图像相应拍摄场景中的局部运动状态,确定相应的拍摄参数和成像处理策略,并按照确定的拍摄参数和成像处理策略进行拍摄控制,可以提高在该拍摄场景下拍摄成像质量。[0112] 本申请还提供一种应用场景,该应用场景应用上述的拍摄场景检测方法。具体地,该拍摄场景检测方法在该应用场景的应用如下:[0113] 针对拍摄设备拍摄的图像进行分析,具体通过NPS(NetPromoterScore,净推荐值)数据分析,并结合用户反馈案例模拟不同光照环境测试各种拍摄设备拍照清晰度,表明拍摄设备的拍摄清晰度差的问题,主要集中在弱光与暗光条件下,表现形式多为失焦和运动模糊。具体地,如图4所示,在拍摄小孩运动时出现鬼影;如图5所示,在夜晚拍摄条件下,出现夜景运动模糊问题;如图6所示,拍摄宠物猫狗时出现细节丢失问题。解决拍照不清晰、运动场景拍照模糊等问题将会为拍照NPS提升带来很大促进作用,有着重要的实际意义与市场价值。[0114] 目前,可以根据AEC(自动曝光控制,AutoExposureControl)数据判断场景运动情况,并基于场景运动情况来调整曝光策略并结合算法处理,以改善白天场景拍照运动模糊的问题,但该处理方式的处理能力有限,无法覆盖某些痛点场景,原因是AEC中根据帧间亮度差设计的运动检测能力不足,无法识别出一些中小幅度的局部运动。因此,为提高拍摄成像质量,需要解决提升局部运动检测的能力,准确、实时地判断出拍摄画面中的局部运动情况有着重要的实际意义,具体可以通过设计相机预览上的合理运动检测算法来判别局部运动。目前的局部运动检测判断处理方法中,为了计算速度和便捷性考量,直接集成在AEC中,根据AEC统计的亮度信息,比较前后帧之间的亮度差异判断画面是否有变化,进而得出运动情况的判断。该方法能较好地估测出大运动、快速运动,但是对小幅度运动和远距离运动检测能力不足。[0115] 基于此,有必要提供一种检测精度高、运算速度快的局部运动的拍摄场景检测方法。本实施例提出了一种拍摄场景检测方法,可以实现实时的场景局部运动检测,具体通过设计跳帧策略对预览流图像处理,全局对齐后阈值分割创建局部运动掩膜图像motionmask,而阈值根据全局对齐的可靠程度动态调整,在形态学处理后的局部运动掩膜图像motionmask上结合ROI计算局部运动量打分,对连续帧之间的局部运动量滤波平滑后输出,实时和预设阈值比较后估测出当前拍摄场景中的局部运动情况,从而检测出拍摄场景中的局部运动状态,局部运动状态可以用于在该拍摄场景下进行拍摄控制。[0116] 本实施例提供的拍摄场景检测方法,如图7所示,包括:步骤702,获取相机的预览图像流数据,预览图像流数据包括多帧预览图像,预览图像是相机拍摄时的实时捕捉的画面;步骤704,确定计算帧和参考帧,即从预览图像流数据中确定当前需要进行处理的计算帧,以及该计算帧对应的参考帧,参考帧可以是在计算帧之前捕捉的预览图像;步骤706,确定参考帧中的角点,在当前计算帧中搜索出与参考帧的角点相匹配的角点,得到角点匹配点对;步骤708,基于角点匹配点对计算变换矩阵,按照变换矩阵使计算帧与参考帧对齐,得到对齐图像;步骤710,在对齐图像上创建掩膜图像,具体可以将对齐图像与参考图像进行差分处理,得到掩膜图像;步骤712,结合感兴趣区域确定掩膜图像中的局部运动量;步骤714,将局部运动量与预设阈值进行比较,实时判别出当前拍摄场景中是否存在局部运动。[0117] 具体地,对于步骤702,获取相机预览图像流数据,用作进行连续帧分析,以实现实时地拍摄场景检测处理。本实施例提供的拍摄场景检测方法可以应用在针对相机预览的应用场景中,通常的预览帧率为30FPS(FramePerSecond,帧每秒),即打开相机显示预览画面1秒可获得30帧预览图像数据,这些连续获取到的YUV预览图像为本实施例中拍摄场景检测方法的输入。如图8所示,获取到的相机预览图像流包括k+1帧预览图像,从中获取第i帧预览图像进行拍摄场景检测处理,具体将第i帧预览图像作为目标图像,添加到拍摄场景检测模块中进行拍摄场景检测处理,并输出该第i帧预览图像的局部运动量movingObject_i,针对每一预览图像均分别进行拍摄场景检测处理,得到局部运动量结果序列,包括k+1个局部运动量movingObject。[0118] 对于步骤704,设置跳帧策略,并确定参考帧和各计算帧。由于应用于预览场景中,处理数据量很大,每秒有30帧图像返回需计算,如果每帧图像都做计算,哪怕运算速度符合实时性要求,功耗、内存也很不友好,考虑到在相机上的应用落地,本实施通过设置跳帧计算的策略来加速计算。可以理解为针对输入的预览图像序列进行采样,每隔几帧真实计算一次,如此可以提高实时性,保证“快稳省”。其中,跳帧的帧数需要根据实际情况进行相应设置,跳帧数过小,则导致计算速度提升不明显;跳帧数过大,则会导致检测结果误差大。[0119] 如图9所示,本实施例中跳帧数framesToSkipAnalysis(跳帧计算的跳帧数)为2时的跳帧处理过程中,获取到的预览帧图像索引idx为1,2,3,4,…,n,每一帧都会被添加进拍摄场景检测模块中,当算法跳帧设置为2时,实际采样用于计算的帧索引idx为1,4,7,10,…。具体可以通过内部设置调整标识skip标识来确定,skip=0时为真实要参与计算的帧;skip=1或2时为跳过处理的帧;在每个真实参与计算的帧(idx=i)上,都会分别进行拍摄场景检测处理以输出该帧的局部运动量movingObject_i,即movingObject_i为第i帧预览图像的局部量。中间跳过的帧的局部运动量可以直接采用前一帧的结果。例如,idx=2的帧跳过计算,使用idx=1的局部运动量,即movingObject_2=movingObject_1;idx=3的帧跳过计算,使用idx=2的局部运动量,即movingObject_3=movingObject_2;idx=4的帧为真实计算帧,会以idx=1的帧作为reference帧,重新计算局部运动量;上一真实计算的帧,可以作为此次计算帧的参考帧。对于图像索引1‑10共10帧预览图像中,跳帧为2,即每隔2帧进行实际计算,实际计算帧包括idx=1、idx=4、idx=7和idx=10的共10帧预览图像。[0120] 对于步骤706,可以先进行图片下采样处理,再计算并筛选出参考帧上的角点,通过稀疏光流并使用金字塔搜索出当前计算帧上和参考帧角点匹配的点对,并通过交叉验证得到强匹配的点对。为了进一步加快运算,可以在长宽下采样一半的灰度小图上进行拍摄场景检测处理。具体的,图像格式为YUV时,可以选取灰度Y通道进行抗锯齿下采样(Anti‑aliasFiltering)。具体可以使用boxfilter对灰度小图滤波,得到较为平滑的图片;还可以采用Nearest近邻插值下采样算法,将图像长宽缩小为原来的1/2。[0121] 进一步地,相邻的两真实计算帧中,前一帧为后一帧的参考帧reference。第一帧,也即初始参考帧上的特征点可以通过角点检测方式得到,而后续的计算帧上的特征点则可以通过跟踪参考帧,即跟踪前一帧上角点的位置搜索得到。每一预览图像帧通过拍摄场景检测处理后,均可以输出一个局部运动量movingObject,当movingObject持续N次输出为0后,如连续20次结果为0,则考虑到场景画面变化过大,特征点可能已跟踪丢失的情况,可以重新用角点检测的方式计算出新的特征点,再重复搜索的过程。如图10所示,在触发进行拍摄场景检测处理时,依次从相机的预览图像流数据中获取预览图像,具体按照图像索引从小到大依次获取,针对图像索引=1的初始图像进行角点检测,并计算得到相应的局部运动量movingObject_1;图像索引=2的预览图像则可以跟踪图像索引=1的角点,实现角点搜索,并计算得到相应的局部运动量movingObject_2;图像索引=3的预览图像则可以跟踪图像索引=2的角点,实现角点搜索,并计算得到相应的局部运动量movingObject_3;若movingobject持续N张图像输出为0,则重新检测角点,即图像索引=i的预览图像进行角点检测,并计算得到相应的局部运动量movingObject_i;针对图像索引=i+1的预览图像,可以跟踪图像索引=i的角点,实现角点搜索,并计算得到相应的局部运动量movingObject_i。[0122] 其中,检测的角点可以是Harris角点或Shi‑Tomasi角点。以检测Shi‑Tomas角点为例,具体可以在下采样后的灰度小图上,先利用Sobel算子,即边缘检测算子计算出图像在x、y方向上的梯度值Ix、Iy;然后计算两个方向梯度的乘积 对 Ix*Iy进行均值滤波;最后计算局部特征结果矩阵M的特征值,若两个特征值中较小的一个大于最小阈值,则得到强角点,强角点即为最终的角点检测结果。[0123] 在当前计算帧上搜索角点是指找寻前一参考帧上已知的角点在当前图像帧中的最佳位置,从而得到当前帧的特征点。具体可以通过稀疏光流结合尺度金字塔的方式进行计算。其中,稀疏光流即是对指定的一组点,即参考帧上已求得的角点,进行跟踪,计算便捷,而考虑到当相机运动或抖动较快时,单层光流计算容易达到局部极小值,可以结合图像金字塔多尺度计算。图像金字塔就是对同一图像进行缩放,得到不同分辨率下的图像。以原始图像作为金字塔的底层,每向上一层,进行一次尺度缩放。计算金字塔光流时,先从顶层细节最少的图像开始计算,然后把上一层的搜索追踪结果,作为下一层光流的初始值;沿着金字塔向下搜索,重复估计动作,直到达到金字塔的底层图像细节最丰富的图像。这样由粗到精的光流估计,当原始图像运动较大时,即当前计算帧相比参考帧位移大,在上几层的图像优化值里,像素运动会比较小,避免陷入局部极小值。如图11所示,从粗到精的光流估计处理中,针对计算帧和参考帧分别构建相应的高斯金字塔,从高斯金字塔从顶层开始进行角点搜索,并将搜素结果经过变换和上采样处理后,迭代到下一层的角点搜索中,直至得到角点搜索结果。[0124] 进一步地,当前计算帧上搜索到的匹配点对通过交叉验证的方式进一步筛选,以得到和参考帧上角点强匹配的点对,匹配点对数设为matchN。匹配点对数越大,说明场景中角点多,则后续计算全局配准的可靠程度越高,反之全局对齐的可靠度降低。当matchN小于10,则认为匹配失败运动情况不清晰。[0125] 对于步骤708,可以基于强匹配的点对计算透视变换矩阵H,通过将当前计算帧进行变换使其和参考帧对齐。具体地,从得到的强匹配点对集合里随机选出4个匹配点对,计算相应的透视变换矩阵H,具体可以为一个3x3的矩阵,使用RANSAC算法迭代计算得到Homograph的最优解。根据透视变换矩阵H,可当前计算帧变换投影到参考帧的平面,即完成图像全局对齐处理。具体的变换过程可以如下式(1),[0126][0127] 其中, 指参考图像, 为当前计算帧,而 为透视变换矩阵H。[0128] 对于步骤710,可以基于对齐后的图像阈值分割创建掩膜图像motionmask,并形态学处理优化后得到最终的掩膜图像motionmask。具体地,对齐后的两帧图像间可以根据对应像素计算出差分图像,对差分图像阈值二值化筛选创建局部运动掩膜图像motion_mask。由于会有图像噪声、全局对齐精度等的影响,若阈值设置过大,则生成的局部运动掩膜可能过小,不能完全覆盖局部运动区域,无法准确表征真实的场景运动情况;同样地若阈值设置过小,会得到误判的局部运动区域。此时,可以通过强匹配点数matchN作为全局对齐可靠程度的标识,动态、自适应地设计分隔阈值,如可以划分为3档,不同档位对应于不同的分隔阈值。例如,当matchN>highMatch时,分隔阈值为低档;当lowMatch[0129] 对于步骤712,可以统计分析掩膜图像mask信息,结合ROI的计算局部运动量打分,并对结果值滤波平滑。具体地,由于图像的四周边角在对齐后容易有错误的信息,以及通常用户在拍摄时,画面的中心或者对焦处才是关注点,则可以根据项目需求设计恰当的ROI(RegionOfInterest)区域,加大ROI区域内局部运动计算的权重,降低或保留非ROI区域的权重,以此得到更有效、符合应用需求的局部运动量打分结果。其中,ROI的设计方式可以为图像的中心像素区域,如以(0,0,W,H)的图像为例,ROI可设置为矩形框(1/4W,1/4H,3/4W,3/4H)、(1/8W,1/8H,7/8W,7/8H)等等;其中,W为图像的宽度,H为图像的高度。此外,ROI的设计方式也可以为以对焦点为中心的矩形框区域,此时需要获取对焦点信息作为传参,以该点为中心,偏移算出目标大小区域的坐标,即得到ROI。[0130] 进一步地,统计掩膜图像motionmask上ROI区域和非ROI区域的运动量值,如可以进行累加像素和,并加权得到总的局部运动量motion;连续计算帧之间的局部运动量motion可以做滤波平滑,如进行kernel_size=3的均值滤波,以改善输出结果跳变的情况,得到最终的局部运动量movingObject。局部运动量具体可以根据下式(2)得到,[0131] motion=weightroi*motionroi+weightother*motionother(2)[0132] 其中,weightroi为感兴趣区域的权重,motionroi为感兴趣区域的局部运动量,weightother为非感兴趣区域的权重,motionother为非感兴趣区域的局部运动量。[0133] 对于步骤706至步骤712,如图12所示,在进行局部运动检测处理时,可以先对图像进行下采样处理,并计算特征点,具体可以为检测角点,通过特征点匹配确定透视矩阵,按照透视矩阵H进行透视变换,得到初始掩膜图像,对初始掩膜图像进行优化得到最终的掩膜图像,并进行平滑滤波,最后结合ROI统计局部运动量。[0134] 对于步骤714,可以输出每一预览帧的局部运动,与预设阈值进行比较,实时判别出当前拍摄场景中是否有局部运动。具体地,每一预览帧i都能输出一个对应的局部运动量结果movingObject_i,将该值和预设阈值比较,得到当前拍摄场景中的局部运动情况判断,movingObject越大,场景中局部运动量越大。具体地,当movingObject_i=threshold_high,表明拍摄场景中有大运动。其中,threshold_low为第一阈值,threshold_high为第二阈值。将判断出的局部运动情况标识实时传递给相机应用,以用于决策和适配最佳化性能与效果的算法,如检出运动,触发抓拍算法等,从而提高拍摄成像质量。[0135] 进一步地,计算出局部运动量打分后,判别场景中运动的方式上可结合相机抖动情况,相机很稳的情况下局部运动量打分更真实,即打分低,小运动;打分高,大运动,此时通过设置低阈值就能判断出有小幅运动的场景。然而,在相机抖动的情况下计算结果精度和全局对齐精度相关,所以设计的阈值需要更保守。具体地,可以对判断策略进行调整,如结合相机的陀螺仪数据分段设计局部运动检出阈值,陀螺仪数据可以在一定程度反映相机抖动情况。此外,本实施例提供的拍摄场景检测方法还可以与相机全局运动检测进行复用,从而实现针对相机拍摄时全局运动和局部运动的综合检测处理。[0136] 本实施例提供的拍摄场景检测方法,通过恰当的算法方案和计算策略对预览流图像实时分析,设计跳帧策略和计算方案对预览流图像处理,兼顾检测精度与运算速度,输出拍摄场景的局部运动情况判断,有助于决策是否触发抓拍算法、调整策略等,辅助提升最终拍照成片率,改善用户体验。[0137] 应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。[0138] 基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的拍摄场景检测方法的拍摄场景检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个拍摄场景检测装置实施例中的具体限定可以参见上文中对于拍摄场景检测方法的限定,在此不再赘述。[0139] 在一个实施例中,如图13所示,提供了一种拍摄场景检测装置1300,包括:处理图像确定模块1302、图像对齐模块1304、掩膜图像获取模块1306、运动信息统计模块1308和运动状态确定模块1310,其中:[0140] 处理图像确定模块1302,用于从拍摄时的多帧预览图像中,确定目标图像和参考图像;[0141] 图像对齐模块1304,用于将目标图像与参考图像进行图像对齐,得到对齐图像;[0142] 掩膜图像获取模块1306,用于根据对齐图像和参考图像间的图像差异,获得局部运动掩膜图像;[0143] 运动信息统计模块1308,用于对局部运动掩膜图像中的局部运动信息进行统计,得到局部运动量;[0144] 运动状态确定模块1310,用于根据局部运动量确定目标图像相应拍摄场景的局部运动状态;局部运动状态用于在目标图像相应拍摄场景下进行拍摄控制。[0145] 在一个实施例中,运动信息统计模块1308,还用于确定局部运动掩膜图像中的感兴趣区域;分别统计感兴趣区域中的第一局部运动信息,以及局部运动掩膜图像中非感兴趣区域的第二局部运动信息;将第一局部运动信息和第二局部运动信息进行加权融合,得到局部运动掩膜图像的局部运动量。[0146] 在一个实施例中,运动信息统计模块1308,还用于将感兴趣区域中各像素点进行累加,得到第一局部运动信息;将局部运动掩膜图像中非感兴趣区域内各像素点进行累加,得到第二局部运动信息。[0147] 在一个实施例中,运动信息统计模块1308,还用于获取感兴趣区域和非感兴趣区域各自对应的运动信息权重;按照运动信息权重,将第一局部运动信息和第二局部运动信息进行加权融合,获得融合运动量;通过多帧预览图像中在先预览图像的局部运动量,对融合运动量进行平滑处理,得到局部运动掩膜图像的局部运动量;在先预览图像的时间戳早于目标图像的时间戳。[0148] 在一个实施例中,运动状态确定模块1310,还用于获取运动量阈值;根据局部运动量与运动量阈值的比较结果,确定目标图像相应拍摄场景的局部运动状态。[0149] 在一个实施例中,运动状态确定模块1310,还用于确定目标图像对应的设备运动参数;获取与设备运动参数相匹配的运动量阈值。[0150] 在一个实施例中,掩膜图像获取模块1306,还用于将对齐图像和参考图像进行像素差分处理,得到差分图像;根据目标图像与参考图像之间的特征匹配对数量,确定分隔阈值;按照分隔阈值对差分图像进行图像分隔,获得局部运动掩膜图像。[0151] 在一个实施例中,图像对齐模块1304,还用于从目标图像中,识别出与参考图像中的参考运动特征点相匹配的目标运动特征点;根据目标运动特征点和相匹配参考运动特征点,得到目标图像与参考图像之间的特征匹配对;基于特征匹配对,将目标图像与参考图像进行图像对齐,得到对齐图像。[0152] 在一个实施例中,参考运动特征点包括参考角点,目标运动特征点包括目标角点;图像对齐模块1304,还用于在目标图像中,搜索与参考图像中的参考角点相匹配的检测角点;参考角点,通过对参考图像进行角点检测得到;对检测角点进行验证,根据验证结果为验证通过的检测角点,得到目标图像中的目标角点。[0153] 在一个实施例中,图像对齐模块1304,还用于从特征匹配对中获取目标特征匹配对;根据目标特征匹配对确定变换矩阵;按照变换矩阵,将目标图像与参考图像进行图像全局投影对齐,得到对齐图像。[0154] 在一个实施例中,处理图像确定模块1302,还用于从拍摄时的多帧预览图像中,获取目标图像;若目标图像的跳帧标识表示目标图像为实际处理帧,从多帧预览图像中确定参考图像;参考图像为目标图像的前一个实际处理帧。[0155] 在一个实施例中,还包括跳帧处理模块,用于若目标图像的跳帧标识表示目标图像为跳帧,从多帧预览图像中确定目标图像的前一个预览图像;根据前一个预览图像的局部运动量,得到目标图像的局部运动量;根据目标图像的局部运动量确定目标图像相应拍摄场景的局部运动状态。[0156] 在一个实施例中,处理图像确定模块1302,还用于获取拍摄时的多帧预览图像;从多帧预览图像中确定原始目标图像和原始参考图像;对原始目标图像和原始参考图像分别进行下采样处理,得到目标图像和参考图像。[0157] 在一个实施例中,还包括拍摄控制模块,用于响应于在目标图像相应拍摄场景下触发的拍摄事件,确定局部运动状态对应的拍摄参数和成像处理策略;按照拍摄参数和成像处理策略进行拍摄控制,得到拍摄事件对应的拍摄图像。[0158] 上述拍摄场景检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。[0159] 在一个实施例中,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图14所示。该电子设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储拍摄场景检测处理数据。该电子设备的输入/输出接口用于处理器与外部设备之间交换信息。该电子设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种拍摄场景检测方法。[0160] 在一个实施例中,提供了一种电子设备,该电子设备可以是终端,其内部结构图可以如图15所示。该电子设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的输入/输出接口用于处理器与外部设备之间交换信息。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种拍摄场景检测方法。该电子设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。[0161] 本领域技术人员可以理解,图14和图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。[0162] 本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行拍摄场景检测方法的步骤。[0163] 本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行拍摄场景检测方法。[0164] 需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。[0165] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(MagnetoresistiveRandomAccessMemory,MRAM)、铁电存储器(FerroelectricRandomAccessMemory,FRAM)、相变存储器(PhaseChangeMemory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(RandomAccessMemory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandomAccessMemory,SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。[0166] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0167] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
专利地区:广东
专利申请日期:2022-06-30
专利公开日期:2024-07-26
专利公告号:CN115103120B