一种动态自动曝光控制方法和装置及电子设备
技术领域
本发明涉及视频监控和人工智能技术领域,具体而言,涉及一种动态自动曝光方法和装置及电子设备。
背景技术
在不同的光照条件下,相机需要不同的曝光量来获得良好的拍摄效果。相机自动曝光(AutoExposure,AE)策略是指相机随着外界光线条件变化而自动调整曝光参数,使得拍摄的画面能够适宜亮度,避免产生大面积过曝或欠曝区域。
当前常用的自动曝光策略如下:设定一个目标统计值,针对当前帧,计算整幅画面的亮度统计值,或者将画面分为若干方块,在每个方块内计算亮度统计值并加权平均。将当前帧统计值和目标统计值输入PID控制器,产生下一帧的曝光值。不同的自动曝光策略由PID(比例、积分、微分)控制器的不同参数决定,而目标统计值和PID参数往往通过***分析或者数值建模方式等事先确定,一旦确定了之后就不再改变,且PID参数往往是固化在摄像设备之中,多个设备的PID参数都是一样的。换言之,传统的自动曝光策略是静态的,一旦确定之后,策略时间上不会再发生变化,多个摄像设备共用同样的动态曝光策略,在空间上也无法随环境做出调整。
在监控场景下,特别是城市的街道环境下,目标的运动可能非常复杂,主要体现在画面中存在几十甚至几百的运动目标、目标运动轨迹不受限随意性较高。此外,在不同时刻,相机所拍摄场景的光线条件可能具有很高的复杂性,即宽动态场景,比如强逆光、强光和阴影同时存在。这种宽动态场景,给目标的检测和识别都带来很大的挑战。使用传统的固定策略自动曝光会使相机摄取的图片序列均处在一个固定的且较窄的动态范围,导致只有部分画面中的物体能够清晰的显示,而其他画面区域则处于过曝或欠曝状态,造成目标无法被检测或识别。此外,不同监控摄像机拍摄的场景可能差异巨大,这意味着采用相同的曝光策略无法让位于不同工作环境中的所有相机都取得最佳的曝光效果。
发明内容
本发明旨在至少在一定程度上解决相关技术中的上述技术问题的至少一个方面,提供一种动态策略自动曝光方法和装置及电子设备。
为达上述目的,本发明第一方面的实施例提供了一种动态自动曝光控制方法,其包括:
获取摄像设备拍摄的当前帧图像;
对所述当前帧图像进行目标检测和识别,获得目标检测和识别结果;
自动曝光神经网络进行曝光预测,所述自动曝光神经网络进行曝光预测具体包括:将所述当前帧图像、所述当前帧图像的目标检测和识别结果输入经过预训练的自动曝光神经网络,得到输出的预测值;
根据所述自动曝光神经网络输出的预测值,控制所述摄像设备下一帧图像拍摄时的曝光值。
在一些实施例中,所述对所述当前帧图像进行目标检测和识别,获得目标检测和识别结果包括:获取当前帧图像中的目标数量以及目标的识别分,所述识别分为表征目标的可识别度的参数;
所述构建表征检测到的目标数量和目标识别的效果的奖励函数,包括:根据所述目标数量和所述识别分构建奖励函数。
在一些实施例中,所述获取当前帧图像中的目标数量以及目标的识别分,包括:根据一帧中的所述目标的可识别度相对于其前一帧中的所述目标的可识别度的优劣来确定所述识别分。
在一些实施例中,所述获取当前帧图像中的目标数量以及目标的识别分,包括:
提前当前帧图像中所述目标数量的各个目标对应的子图像;
将所述子图像输入预训练的识别分子网,获取输出的识别分;
其中所述识别分子网为卷积神经网络,且被训练为当所述当前帧图像的目标的可识别度优于上一帧图像的目标的可识别度时,输出第一识别分;当所述当前帧图像的目标的可识别度劣于上一帧图像的目标的可识别度时,输出第二识别分。
在一些实施例中,所述自动曝光神经网络进行曝光预测步骤中,所述自动曝光神经网络为循环神经网络,所述循环神经网络的一个循环单元的输入包括第t帧的帧图像和来自上一个循环单元的第t-1帧的帧特征向量;所述循环神经网络的每个循环单元的输出包括第t帧的帧特征向量以及对于第t+1帧的曝光预测值;
其中,t为自然数,表示所述摄像设备拍摄的视频或图片的帧图像的时序序列排序。
在一些实施例中,每个所述循环单元包括依次级联的特征提取子网、特征融合子网和曝光值预测子网,其中:
所述特征提取子网用于根据输入的第t帧图像信息提取第t帧图像的第一图像特征;
所述特征融合子网用于根据所述第t帧图像的所述第一图像特征和第 t-1帧的帧特征向量生成融合特征作为第t帧的帧特征向量;
所述曝光值预测子网用于根据所述第t帧的帧特征向量得到第t+1帧的曝光预测值。
在一些实施例中,所述特征融合子网用于根据所述第t帧图像的所述第一图像特征和第t-1帧的帧特征向量生成融合特征作为第t帧的帧特征向量;包括:
将所述第t帧图像的所述第一图像特征和第t-1帧的帧特征向量在通道维度上进行拼接,作为所述特征融合子网的输入。
在一些实施例中,所述的动态自动曝光控制方法还包括:
同时维护根据所述摄像设备拍摄的帧图像序列的目标***,所述目标***包括多个轨迹,每个所述轨迹包括一个识别出的目标和所述目标的位置及其时序变动信息;
所述对所述当前帧图像进行目标检测和识别,获得目标检测和识别结果包括:对所述当前帧图像进行目标检测得到目标图片集和目标位置掩模,并根据所述目标图片集和目标位置掩模对所述目标***进行更新。
在一些实施例中,所述自动曝光神经网络进行曝光预测的步骤中,所述预训练的自动曝光神经网络包括通过以下方式训练的神经网络:构建表征检测到的目标数量和目标识别的效果的奖励函数;以及根据所述奖励函数,通过强化学习对所述自动曝光神经网络进行训练。
在一些实施例中,所述对所述当前帧图像进行目标检测和识别,获得目标检测和识别结果包括:获取当前帧图像中的目标数量以及目标的识别分,所述识别分为表征目标的可识别度的参数;
同时维护根据所述摄像设备拍摄的帧图像序列的目标***,所述目标***包括多个轨迹,每个所述轨迹包括一个识别出的目标和所述目标的位置及其时序变动信息,并记录所述目标***中的每个目标的识别分;以及
所述构建表征检测到的目标数量和目标识别的效果的奖励函数,包括:以每个轨迹中,最高识别分的增长作为所述奖励函数的奖励值的正向激励之一。
在一些实施例中,所述根据所述奖励函数,通过强化学习对所述自动曝光神经网络进行训练,包括:
将摄像设备的曝光值离散化为N个取值点,N为自然数,所述N个取值点作为曝光神经网络的输出动作空间;
采用基于值的强化学习算法对所述自动曝光神经网络进行训练。
在一些实施例中,所述对所述当前帧图像进行目标检测和识别,获得目标检测和识别结果,包括:对所述当前帧图像中的人脸进行目标检测和人脸识别,获得人脸的目标检测和识别结果;
所述构建表征检测到的目标数量和目标识别的效果的奖励函数,包括:构建表征检测到的人脸目标数量和人脸目标识别的效果的奖励函数。
在一些实施例中,还包括,根据所述摄像设备拍摄的工作场景下的帧图像和曝光值,令所述自动曝光神经网络进行在线强化学习,对所述曝光神经网络的参数进行更新。
使用本发明的动态自动曝光控制方法,摄像机根据工作环境的变化和目标的状态动态的自动调整曝光策略,可在宽动态场景获得理想的目标检出和识别效果。
为达上述目的,本发明第二方面的实施例提供了一种动态自动曝光控制装置,其特征在于,包括:
图像获取模块,用于获取摄像设备拍摄的当前帧图像;
目标检测和识别模块,用于对所述当前帧图像进行目标检测和识别,获得目标检测和识别结果;
曝光预测模块,用于使用自动曝光神经网络进行曝光预测,所述自动曝光神经网络进行曝光预测具体包括:将所述当前帧图像、所述当前帧图像的目标检测和识别结果输入经过预训练的自动曝光神经网络,得到输出的预测值;
曝光控制模块,用于根据所述自动曝光神经网络输出的预测值,控制所述摄像设备下一帧图像拍摄时的曝光值。
为达上述目的,本发明第三方面的实施例提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现根据本发明第一方面所述的动态自动曝光控制方法。
为达上述目的,本发明第四方面的实施例提供了一种电子设备,包括:可控制曝光值的镜头组件、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现根据本发明第一方面所述的动态自动曝光控制方法。
根据本发明的自动曝光控制装置、非临时性计算机可读存储介质和电子设备,具有与根据本发明第一方面动态自动曝光控制方法具有类似的有益效果,在此不再赘述。
本发明第五方面的实施例提供了一种场景监控***,其包括:
一个或多个曝光值可调节的摄像设备,所述摄像设备用于对待监控场景进行视频或图像序列拍摄;其中,每个摄像设备根据本发明第一方面所述的动态自动曝光控制方法进行自动曝光控制;
中央控制单元,所述中央控制单元与一个或多个所述摄像设备通信连接,用于控制所述摄像设备的运作和与所述摄像设备进行数据交互,并根据所述摄像设备拍摄的视频数据进行数据处理。
本发明的场景监控***,每个摄像设备均可以根据其各自不同的光照等自然条件,以及不同的目标运动状态,自动选择最佳的曝光策略,以达到能够识别更多的目标和取得更好的可识别性等目的。
附图说明
图1是根据本发明实施例的动态自动曝光控制方法的流程示意图;
图2是根据本发明实施例的识别分子网的输入输出关系示意图;
图3是根据本发明实施例的强化学习训练原理示意图;
图4是根据本发明实施例的识别分参数的工作原理示意图;
图5是根据本发明实施例的自动曝光神经网络的循环单元结构示意图;
图6是根据本发明实施例的动态自动曝光控制方法的工作原理示意图;
图7是是根据本发明实施例的动态自动曝光控制装置的结构框图;
图8是根据本发明实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图详细描述根据本发明的实施例,描述涉及附图时,除非另有表示,不同附图中的相同附图标记表示相同或相似的要素。要说明的是,以下示例性实施例中所描述的实施方式并不代表本发明的所有实施方式。它们仅是与如权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子,本发明的范围并不局限于此。在不矛盾的前提下,本发明各个实施例中的特征可以相互组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
传统的自动曝光策略是单纯基于图像的亮度统计信息进行静态的自动曝光控制,无法针对视频画面或图像序列中的目标(如行人、车辆)的可检测性和可识别性进行动态调整,因此会导致在宽动态场景中部分目标无法检测和识别。针对上述问题,本发明中,通过建立深度神经网络模型,设计强化学习的方法,动态地学习针对关键目标的曝光调整策略。视频中通常存在若干目标,每个目标具有不同的运动轨迹及光线条件,通过学习寻找关键目标,并有针对性地调整曝光值,最终使得视频中所有目标的都获得最佳检出和识别效果。
参见图1和图6,图1是根据本发明实施例的动态自动曝光控制方法的流程示意图。图6是根据本发明实施例的动态自动曝光控制方法的工作原理示意图,其中示出了相机端的数据管道(pipeline)。具体而言,根据本发明实施例的动态自动曝光控制方法,可包括以下步骤S110到S140。
S110,获取摄像设备拍摄的当前帧图像。在实际工作场景中,本发明的方法将根据当前帧以及可能还包括当前帧之前的若干帧图像,还进行曝光环境的分析,从而预测下一帧的曝光值。
S120,对所述当前帧图像进行目标检测和识别,获得目标检测和识别结果。其中,针对摄像装置不同的监控目的,可以进行不同类型的目标检测和识别,例如道路交通车辆监控可能以机动车为识别目标,而安防监控等可能以人为识别目标,或者宠物收养机构可能以宠物为目标等,本领域技术人员可以根据需要自行设置,本发明对此并无限制。为了便于描述,下文将以人脸识别为目标,进行目标检测和识别的说明。
例如,获得目标检测和识别结果可包括:获取当前帧图像中的目标数量以及目标的识别分,所述识别分为表征目标的可识别度的参数。而在强化训练中,构建表征检测到的目标数量和目标识别的效果的奖励函数时,根据所述目标数量和所述识别分构建奖励函数。亦即,强化学习的训练目的是通过调整曝光使视频中被检出的目标数尽可能多、被检出目标的可识别性尽可能高。
对于有所有目标的标准库的应用场景,例如限制仅授权人员进入的保密楼宇等,可以建立绝对识别分作为激励函数的参数。但是由于在绝大部分场景下,并没有可用的目标库作为基础事实(grond truth),因此不适合建立绝对识别分。针对这种情况,本发明提出了相对识别分的概念,所述获取当前帧图像中的目标数量以及目标的识别分,包括:根据一帧中的所述目标的可识别度相对于其前一帧中的所述目标的可识别度的优劣来确定所述识别分。
上述功能可以通过相对简单的CNN(卷积神经网络)来实现,从而可以极大的节省计算量。参见图2,图2是根据本发明实施例的识别分子网的输入输出关系示意图。以应用最广的人脸识别为例,人脸识别分比对CNN可以是2个输入图片的可识别度的简单比较。在训练阶段,可使用识别分标注数据进行有监督训练,输入是两张图片,图片1和图片2,输出是一个二值函数,例如0和1,每个值分别表示其中一个图片的可识别性占优。关于识别分标注数据的评分方式,相关技术中关于人脸识别的识别分成熟算法均可应用于此,本发明没有特别限制。
在识别分子网的应用阶段,所述获取当前帧图像中的目标数量以及目标的识别分,包括:提前当前帧图像中所述目标数量的各个目标对应的子图像;将所述子图像输入预训练的识别分子网,获取输出的识别分;其中所述识别分子网为卷积神经网络,且被训练为当所述当前帧图像的目标的可识别度优于上一帧图像的目标的可识别度时,输出第一识别分;当所述当前帧图像的目标的可识别度劣于上一帧图像的目标的可识别度时,输出第二识别分。
从而,通过变绝对识别分为相对识别分,可以解决无目标人脸数据底库情况下的奖励函数的构建问题。
S130,自动曝光神经网络进行曝光预测,所述自动曝光神经网络进行曝光预测具体包括:将所述当前帧图像、所述当前帧图像的目标检测和识别结果输入经过预训练的自动曝光神经网络,得到输出的预测值。
为了描述方便,本公开中,也将自动曝光神经网络称为AE-Agent,我们希望训练好的AE-Agent的输入是当前视频帧以及目标检测和识别结果,输出是预测的下一帧的曝光参数。对于这种工作场景,构造有监督的标签数据是比较困难的,而完全无监督的学习训练,对神经网络来说同样困难,因此,对于本公开的实际情况,采用基于奖励机制的强化学习方式最为适合。可以结合自适应曝光的目的,构建表征检测到的目标数量和目标识别的效果的奖励函数,根据所述奖励函数,通过强化学习对所述自动曝光神经网络进行训练。相关技术中绝大部分常用的基于值的强化学习方法均可应用于此,本发明并无特别限制。而本公开的列举的只是其中较佳的实施例。
参见图3,图3是根据本发明实施例的强化学习训练原理示意图,具体而言是DQN(Deep Q-Network),DQN是常用的基于值的强化学习算法 (Value-based RL)。可以看做是训练网络在当前状态集s条件下,根据奖励函数——即动作aN所能获得的Q值Q(s,aN)来选择最优动作的策略。
对于目标识别和跟踪等任务目的来说,AE-Agent在预测下一帧的曝光参数时的策略为主要考虑以下两方面:一是,根据当前帧检测出的目标的可识别性来选择下一帧需要针对性调整曝光的关键目标,以提升关键目标在下一帧的可识别性,关键目标通常意味着如果不尽快针对其调整曝光,其可能会走出画面或者被严重遮挡等,因此这类目标应该有较高的调曝光优先级;二是探索新的曝光值,以在下一帧发现当前帧的画面中因过曝或欠曝造成目标无法被检出的目标。通过强化学习的目的是通过设计合理的奖励机制,让AE-Agent自主学会寻找关键目标和探索新曝光值两个技能,并取得两者之间的均衡优化(trade-off)。
下面结合人脸识别的实施例,从状态、动作、奖励三个方面对本发明强化学习策略进行详细说明。
1.状态
状态表示网络中可以观测到的内容。针对AE-Agent,状态被定义为当前帧的视频画面,以及当前帧检测到的目标相关的信息,包括目标图片、位置信息等,共同融合于网络识别得到的帧特征向量,本发明中将之称为目标检测和识别结果。
2.动作
AE-Agent的动作空间是曝光值Exposure Value(EV),对于大部分摄像设备,EV可以连续变化并且有明确的上下界,为了简化AE-Agent决策,可将EV数值范围离散化为N个离散点,即AE-Agent每次只需在N个可选 EV值中选一个作为下一帧的曝光值即可。其输出可以是离散的整数序列中的一个或者离散的曝光值中的一个,再在步骤S140中经换算后变成相机的曝光控制参数。
3.奖励
奖励是强化学习中最关键的要素。本实施例中,期望的AE-Agent实现的目标包括两方面:通过调整曝光使视频中被检出的目标数尽可能多、被检出目标的可识别性尽可能高。故此,可以以与上述两项内容正相关的方式构建奖励函数,并且在目标的数量和可识别性两方面加以均衡。除下面将要列举的实施方式外,本领域技术人员在本发明思路的教导下,可以构造各种不同的奖励函数,这些均会落入本发明的保护范围。
针对更多的目标数量这一目标,可以将一段时间内(若干帧)检测出的目标数作为一项奖励分数(Rnum)。该奖励鼓励AE-Agent探索更多的曝光值,以发现因过曝或欠曝没有被检出的目标。针对更高的可识别性这一目标,可以将被检出目标的识别分作为奖励,识别分越高表示可识别性越高。
对于可识别性的问题,如果是线下训练,线上只应用的话,可以使用绝对识别分标注数据来训练识别分子网。而对于训练的识别分子网需要能在AE-Agent需要在相机端动态训练时,由于被检出的目标因为没有Ground Truth信息而无法获得识别分,则需要将识别分子网训练为如图2所示的可判断相对识别优劣的CNN。例如,使用来自于同一轨迹(track)的图片1 和图片2,可以认为具有相同的ID信息,如提升则给AE-Agent一定的奖励分数(Rrec)。该奖励可以鼓励AE-Agent去寻找可识别性低的目标作为关键目标,并针对其调曝光值提升可识别性从而获得奖励。可将r=Rnum+Rrec作为总奖励训练AE-Agent。
参见图4,图4是根据本发明实施例的识别分参数的工作原理示意图,从中可见本实施例中对于关键目标的选择策略。定义当前帧维护的track (轨迹)为living tracks(活跃轨迹)。每个living track包含若干张同一ID的人脸图片,但是对于不同的tracks其最高的识别分(每个track 中人脸的最高识别分)可能差别很大,例如,图4中,轨迹1的最高识别分是90,轨迹2的最高识别分是50,……,轨迹N的最高识别分是80。对于实现更多的可识别目标的任务而言,针对最高识别分低的track进行曝光调节,以提升其最高识别分,这类track称为关键目标。但是,在在线训练时,由于不能显示地依据识别分来定义关键目标(因为无法获得任意场景中人脸的识别分),因此本发明提出了利用识别分的提升作为奖励,促使AE-Agent能自主学会找到关键目标,以尽可能获得最大的奖励(换言之:可设置针对识最高别分低的track调曝光获得改善的图片比针对最高识别分高的track调曝光获得更大的奖励)。
本策略体现了对于变目标的不可识别为可识别的鼓励。例如,举一个比较极端的情况,在没有目标出现的场景下,AE-Agent会倾向不断的调整曝光值,以发现目标。这在实际场景中也是合理的,比如有一片面积很小同时很暗的区域有行人通过,按常规的曝光策略可能该区域会被忽略,强化学习的Agent可以进行自主探索,以发现该区域内的目标。
AE-Agent的具体网络结构,可以用CNN来实现,本领域技术人员可以根据摄像设备拟应用场景的光照、场地、人流等的复杂度,来选择CNN的深度、卷积参数等。
由于相机的拍照曝光是动态的时序过程,而光照、场地、人流等实际上也都是时间的连续函数,因此,引入时序特征的网络结构将能更好地利用近期的相机曝光数据,获得更准确的预测结果。
例如,参见图5,自动曝光神经网络可选循环神经网络(RNN),所述循环神经网络的一个循环单元的输入包括第t帧的帧图像和来自上一个循环单元的第t-1帧的帧特征向量;所述循环神经网络的每个循环单元的输出包括第t帧的帧特征向量以及对于第t+1帧的曝光预测值;其中,t为自然数,表示所述摄像设备拍摄的视频或图片的帧图像的时序序列排序。其中,每一帧的帧特征向量,即可以视为强化学习中的状态(state)。
具体而言,每个所述循环单元可包括依次级联的特征提取子网、特征融合子网和曝光值预测子网。其中:所述特征提取子网用于根据输入的第t 帧图像信息提取第t帧图像的第一图像特征;所述特征融合子网用于根据所述第t帧图像的所述第一图像特征和第t-1帧的帧特征向量生成融合特征作为第t帧的帧特征向量;所述曝光值预测子网用于根据所述第t帧的特征融合得到的帧特征向量得到第t+1帧的曝光预测值。其中,可将所述第t帧图像的所述第一图像特征和第t-1帧的帧特征向量在通道维度上进行拼接,作为所述特征融合子网的输入。
其中,第一图像特征可以包括现有监控视频图像常用的各种特征,例如如图5所示的,特征提取子网可包括人脸子网络和视频帧子网络。同时维护根据所述摄像设备拍摄的帧图像序列的目标***,所述目标***记录有帧图像中目标的轨迹(tracks)。一般来说所述目标***包括多个轨迹,每个所述轨迹包括一个识别出的目标和所述目标的位置及其时序变动信息。例如,人脸图片集,人脸位置掩模(mask)等。人脸子网络以人脸图片集的图片为输入,用于进行人脸特征的提取。视频帧子网络则以人脸位置mask、视频帧为输入,其输出是与视频帧整体有关的全局信息,这些信息是在强化学习的过程中,网络自己决策出的,与强化学习训练过程中奖励函数的选取有关。
所述对所述当前帧图像进行目标检测和识别,获得目标检测和识别结果则可包括:对所述当前帧图像进行目标检测得到目标图片集和目标位置掩模,并根据所述目标图片集和目标位置掩模对所述目标***进行更新。
要说明的是,整个AE-Agent的RNN网络中,所有循环单元可以是一次性整体训练的,而不必分子网。所述子网的划分,只是在结构描述上的便于理解。
下面以DQN为例,对于具体的强化训练过程进行说明。用Q(s,a)表示在状态s下,即每帧的帧特征向量条件下,执行动作a(选择不同的曝光值) 所能获得的所有奖励之和。AE-Agent需要在状态s作为输入时,预测执行每个动作所能获得的Q值,即Q(s,a1),Q(s,a2)…Q(s,aN),然后选择Q值最大的动作执行。
根据Bellman方程,可以得到Q(s,a;θ)=r+λmaxa′Q(s′,a′;θ′)。其中,Q(s,a;θ)表示在当前状态下,当前和未来可能获得的总奖励之和,r表示当前的实际获得的奖励。在本发明的方法中,r可根据上文所述的奖励函数r=Rnum+Rrec得到,maxa′Q(s′,a′;θ′)表示在所有动作集中,执行预期奖励最高的动作a′后,下一帧的总奖励。与Bellman方程的一般用法类似,这里,奖励可以看做是整体是以递归关系表示的。λ为折扣因子,可取(0,1)区间的有理数。从而,当考虑未来的多帧的奖励时,可利用λ的取值,可以赋予不同距离的帧以不同的权重,例如可以着重考虑最近几帧获得的奖励,减小长远奖励的影响。s′表示s执行动作a后的状态。θ表示EV-Agent 的参数。根据上式,可以构建目标损失函数loss: L=E((r+λmaxa′Q(s′,a′;θ′)-Q(s,a;θ))2)。使用反向传播的方法,求得参数θ的梯度,并进行更新。
在步骤S140,根据所述自动曝光神经网络输出的预测值,控制所述摄像设备下一帧图像拍摄时的曝光值。本步骤中,根据AE-Agent预测的输出结果曝光值,计算摄像设备的曝光控制参数,并控制摄像设备的下一帧的拍摄。
要说明的是,强化学习的训练过程,可以离线事先训练好,只要样本场景的多样性足够,则训练好的AE-Agent有较好的通用性,可以直接用于不同的拍摄场景环境而获得较好的曝光调节效果。由于模型训练过程对算力需求较大,因此离线训练并装载线上使用比较高效。
当然,本发明的强化学习过程也可以在在各个摄像机上线后,根据其真实的拍摄数据进行在线训练,如此相对会在训练过程花费一定时间,但是训练得到的模型对于相机本地的应用环境和场景将具有更好的适应性。换言之,模型更具针对性。在相机端进行动态学习,可以使不同的相机学到适用于所拍摄场景的最佳曝光策略,做到了策略自适应,可以得到更好的拍摄效果。
而更好的综合策略是,进行离线的训练,训练好的网络上线工作后,将会有一个相对比较好的初始状态作为初始值,可以达到较好的曝光控制效果。然后,再根据线上的数据对AE-Agent进行进一步的强化学习在线训练,实现网络优化。线下训练完成后再部署再相机上使用和在线训练,可综合两种方式的优势。可以使AE-Agent针对每个相机所处的独特环境快速地有针对性地调整曝光策略(端上自适应)。
要说明的是,在线训练不需要一直在相机端进行,可以设定一定的周期,比如每隔一个月在相机端的实拍数据上进行一天的训练。训练时,需要将相机实时拍到的画面、检测到的目标信息(主要指人脸)以及track 信息,计算得到奖励值,通过RL算法(比如DQN)的参数更新方法,更新 AE-Agent的参数。这里计算奖励值的周期可以是每一帧算一次,也可以是缓存若干帧然后算一次奖励值,并进行一次参数更新。
参见图6,图6是根据本发明实施例的动态自动曝光控制方法的工作原理示意图。从图中可见摄像装置的数据管道(pipeline)。
在应用(inference)阶段,进行曝光值的预测时,相机在拍摄当前帧后,帧图像的图片经过目标检测器,得到目标图片集。将目标图片集、和当前帧图像送入AE-Agent可以获得下一帧的曝光值。此外,对于在线训练,目标***根据目标图片集和位置掩模等信息维护track信息,训练好的奖励模块根据track信息计算总的奖励值,并根据奖励值对AE-Agent进行进一步的优化训练。
本发明第二方面的实施例提出了一种动态自动曝光控制装置,参见图 7,图7是根据本发明实施例的动态自动曝光控制装置100的结构框图。动态自动曝光控制装置100包括:图像获取模块110、目标检测和识别模块 120、曝光预测模块130和曝光控制模块140。
图像获取模块110,用于获取摄像设备拍摄的当前帧图像。
目标检测和识别模块120,用于对所述当前帧图像进行目标检测和识别,获得目标检测和识别结果。
曝光预测模块130,用于使用自动曝光神经网络进行曝光预测,所述自动曝光神经网络进行曝光预测具体包括:将所述当前帧图像、所述当前帧图像的目标检测和识别结果输入经过预训练的自动曝光神经网络,得到输出的预测值。其中,所述预训练的自动曝光神经网络包括通过以下方式训练的神经网络:构建表征检测到的目标数量和目标识别的效果的奖励函数,根据所述奖励函数,通过强化学习对所述自动曝光神经网络进行训练。
曝光控制模块140,用于根据所述自动曝光神经网络输出的预测值,控制所述摄像设备下一帧图像拍摄时的曝光值。
较佳地,所述动态自动曝光控制装置100还包括在线训练模块150,所述在线训练模块150用于根据所述摄像设备拍摄的工作场景下的帧图像和曝光值,令所述自动曝光神经网络进行在线强化学习,对所述曝光神经网络的参数进行更新。要说明的是,所述在线训练模块150在物理上,可以全部程序存储和运行于摄像设备端,这对设备算力有一定要求。也可以部分存储和运行于摄像设备端,部分存储和运行于与摄像设备通信连接的服务器端。本实施例的装置中,所有模块均是程序功能逻辑上的划分,而不限定其物理存储和运行硬件局限于单一的装置之内。
关于本发明装置的各个模块的功能和具体实现形式,可以参见方法实施例相关部分的描述,在此不再赘述。
本发明第三方面的实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现根据本发明第一方面所述的动态自动曝光控制方法。
一般来说,用于实现本发明方法的计算机指令的可以采用一个或多个计算机可读的存储介质的任意组合来承载。非临时性计算机可读存储介质可以包括任何计算机可读介质,除了临时性地传播中的信号本身。
计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明还提供了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现根据本发明第一方面所述的动态自动曝光控制方法。
本发明第四方面的实施例提供了一种电子设备,包括可控制曝光值的镜头组件、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现根据本发明第一方面所述的动态自动曝光控制方法。
根据本发明第二到四方面的动态自动曝光控制装置、非临时性计算机可读存储介质,计算机程序产品和电子设备,可以参照根据本发明第一方面所述的第一方面所述的动态自动曝光控制方法,并具有与之类似的有益效果,在此不再赘述。
本发明第五方面的实施例提供了一种场景监控***,其包括:
一个或多个曝光值可调节的摄像设备,所述摄像设备用于对待监控场景进行视频或图像序列拍摄;其中,每个摄像设备本发明第一方面的任一实施例所述的动态自动曝光控制方法进行自动曝光控制;
中央控制单元,所述中央控制单元与一个或多个所述摄像设备通信连接,用于控制所述摄像设备的运作和与所述摄像设备进行数据交互,并根据所述摄像设备拍摄的视频数据进行数据处理。
例如,在在线训练时,所述中央控制单元可以接受摄像设备拍摄的图像,据此进行模型的在线训练后,再讲更新的模型信息传递给摄像设备。以及,除了曝光时间之外,还可以进一步被训练为根据曝光信息和拍摄的图像中目标的数量和可识别性,进行拍摄角度的微调。
从而,本发明的场景监控***,每个摄像设备均可以根据其各自不同的光照等自然条件,以及不同的目标运动状态,自动选择最佳的曝光策略,以达到能够识别更多的目标和取得更好的可识别性等目的。
图8示出了适于用来实现本申请实施方式的示例性电子设备的框图。图8显示的电子设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,电子设备12可以通用电子设备的形式实现。电子设备12 的组件可以包括但不限于:一个或多个可控制曝光值的镜头组件13、一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及***组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性的计算机可读存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图中未显示,通常称为“硬盘驱动器”)。尽管图中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”) 读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器 (Compact Disc ReadOnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video DiscRead OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机***/服务器12交互的设备通信,和/或与使得该计算机***/服务器12能与一个或多个其它电子设备进行通信的任何设备(例如网卡,调制解调器等等) 通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备 12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local AreaNetwork;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN) 和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线 18与电子设备12的其它模块通信。要说明的是,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
尽管上面已经示出和描述了本发明的实施例,应当理解的是,上述实施例是示例性的,不能解释为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。