用于安防监控领域的自动光圈控制方法及装置与流程

文档序号:11844289阅读:1133来源:国知局
用于安防监控领域的自动光圈控制方法及装置与流程

本发明属于安防监控技术领域,尤其涉及用于安防监控领域的自动光圈控制方法及装置。



背景技术:

在安防监控领域,尤其是道路监控,隧道监控等技术领域,不可避免地会出现环境亮暗变化剧烈的情况,为了适应上述监控过程中的光线变化,监控摄像机的自动光圈控制功能基本会采用比例-积分-微分(PID)的控制策略,常用策略是传统的位置式PID控制,或者类似位置式PID控制结合阶梯变步长控制。

然而,上述自动光圈控制策略在面对环境亮度变化剧烈的情况时,多少都会出现自动光圈调节缓慢并且出现过调节,使得光圈全关或者是来回剧烈震荡,影响了安防监控的视频输出效果。



技术实现要素:

有鉴于此,本发明实施例提供了用于安防监控领域的自动光圈控制方法及装置,以解决现有技术在进行自动光圈控制时会出现自动光圈调节缓慢并且出现过调节,使得光圈全关或者是来回剧烈震荡,影响了安防监控的视频输出效果的问题。

第一方面,提供了一种用于安防监控领域的自动光圈控制方法,包括:

获取当前的亮度误差值,所述亮度误差值为摄像机当前获取的实时画面的平均亮度值与预设的目标亮度值的差值;

基于所述亮度误差值,采用非线性PID算法计算增量式PID控制算子;

导入所述增量式PID控制算子,计算得到驱动PWM的值;

根据所述驱动PWM的值对所述摄像机进行自动光圈控制。

第二方面,提供了一种用于安防监控领域的自动光圈控制装置,包括:

获取单元,用于获取当前的亮度误差值,所述亮度误差值为摄像机当前获取的实时画面的平均亮度值与预设的目标亮度值的差值;

第一计算单元,用于基于所述亮度误差值,采用非线性PID算法计算增量式PID控制算子;

第二计算单元,用于导入所述增量式PID控制算子,计算得到驱动PWM的值;

控制单元,用于根据所述驱动PWM的值对所述摄像机进行自动光圈控制。

在本发明实施例中,根据监控摄像机当前实时画面的亮度误差值来计算当前需要的驱动PWM,以实现对摄像头的自动光圈控制,在监控摄像机遇到环境亮度剧烈变化的情况下能够自动控制光圈开合,以达到适宜的曝光效果,且整个调节过程快速稳定,提升了安防监控的视频输出效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是安防监控领域摄像机镜头的光圈控制原理示意图;

图2是本发明实施例提供的安防监控领域摄像机镜头的光圈控制流程的示意图;

图3是本发明实施例提供的用于安防监控领域的自动光圈控制方法的实现流程图;

图4是本发明实施例提供的用于安防监控领域的自动光圈控制方法S302的具体实现流程图;

图5是本发明实施例提供的用于安防监控领域的自动光圈控制方法S403的具体实现流程图;

图6是本发明实施例提供的用于安防监控领域的自动光圈控制装置的结构框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了更好地阐述本发明实施例,首先对安防监控领域摄像机镜头的光圈控制原理进行描述:

如图1所示,输入直流电机驱动芯片的包括基准脉冲宽度调制(Pulse Width Modulation,PWM)和驱动PWM,其中,基准PWM由硬件电路预先设置好,其取值大小由硬件电路的具体结构决定;主控制芯片基于前端镜头输入图像的亮度信息统计结果,根据内部自动光圈控制算法计算驱动PWM并输出给直流电机驱动芯片,直流电机驱动芯片转换得到驱动电平,用来控制电机的转动方向以及速度,从而达到控制镜头的光圈开合的目的。如图2所示,在进行光圈控制时,首先判断当前的光圈控制模式及曝光模式,以确定是否启动相应的自动光圈控制功能模块,实现自动光圈控制。

图3示出了本发明实施例提供的用于安防监控领域的自动光圈控制方法的实现流程,其中的技术方案主要用于实现对摄像机镜头自动光圈控制,详述如下:

在S301中,获取当前的亮度误差值,所述亮度误差值为摄像机当前获取的实时画面的平均亮度值与预设的目标亮度值的差值。

其中,摄像机当前获取的实时画面的平均亮度值,是指摄像机当前获取到的当前图像帧中像素亮度的平均值,而预设的目标亮度值通常为监控系统设置的能够满足用户对画面亮度需求的一个亮度值。

作为本发明的一个实施例,在获取到亮度误差值之后,执行S302之前,所述方法还包括:

对所述亮度误差值进行预处理,包括将所述亮度误差值除以一个预设因子。

由于亮度误差值可以为正,也可以为负,因此,亮度误差值的正负分别对应不同的预设因子,预设因子的大小可以根据实际情况进行调节,其作用是确定亮度的最小调节范围,以助于光圈大小的稳定性调节。

在S302中,基于所述亮度误差值,采用非线性PID算法计算增量式PID控制算子。

在本发明实施例中,增量式PID控制算子由亮度误差值来决定,具体地,如图4所示:

在S401中,计算p_data、i_data和d_data,其中:

p_data=p_coef*luma_data[0]/p_div,luma_data[0]为当前的所述亮度误差值,p_div为预设常数,p_coef为关于所述亮度误差值的非负的单调递增函数;

i_data=i_data+i_coef*luma_data[0],luma_data[0]与i_coef呈反比;

d_data=Δerror=luma_data[0]-luma_data[1],luma_data[1]为上一次输入的所述亮度误差值。

对于p_data,p_coef为一个随着亮度误差值的大小实时变化的一个值,p_coef是亮度误差值luma_data[0]的函数,满足p_coef=F(luma_data[0]),其中F(luma_data[0])可以是线性函数,也可以是非线性函数,但是必须保证其为luma_data[0]非负的单调递增函数,这样使得程序更加简化,只用两条语句即可完成p_data的确定,并且p_data的大小严格按照luma_data[0]的变化趋势迅速变化,调整的速度和平稳度也得到了显著提高,p_div为预设常数,可以根据不同的自动光圈镜头进行调整。

对于i_data,根据PID控制原理中积分控制的作用,将i_data的控制做阶梯分段处理,所分阶数n可以根据实际自行调整,具体思想为:亮度误差值越小,i_data中的乘因子i_coef越大。其实现方式为,将luma_data[0]分为正负两个方向,每个方向分为n个等级,每个等级的步长可自行设置,对应的乘因子i_coef根据实际电路调试结果做相应的设置,其中n以及各个i_coef都为大于0的常数。

对于d_data,其值为亮度误差增量,即当前的亮度误差值与上一次输入的亮度误差值之差,在此,可以通过设置中间变量来保证当前输入的亮度误差值不覆盖上一次输入的亮度误差值,中间变量的设置可通过如下语句实现:

luma_data[0]=luma_data;

luma_data[1]=luma_data[0]。

在S402中,将p_data、i_data和d_data导入Δduty=Δu=A*p_data+B*i_data+C*d_data。

在S403中,通过调试确定A、B、C的值,以得到所述增量式PID控制算子Δduty。

作为本发明的一个实施例,A、B、C的值可以通过图5所示的方式调试得到:

在S501中,将B和C设置为0并调节A值,待所述摄像机的光圈达到第一预设稳定状态时,确定当前的A值。

在S502中,将C设置为0,调节B值,待所述摄像机的光圈达到第二预设稳定状态时,确定当前的B值。

在S503中,调节C值,待所述摄像机的光圈达到第三预设稳定状态时,确定当前的C值。

在本实施例中,第一预设稳定状态、第二预设稳定状态、第三预设稳定状态分别对应的光圈控制的稳定程度依序升高,例如,首先,将B和C设置为0,单独调节A值,待摄像机的光圈能够快速调节到合适状态,并且出现振荡较小时,确定当前的A值;其次,将C设置为0,调节B值,待到摄像机的光圈调节到光圈几乎不再振荡时,确定当前的B值;最后,调节C值,直到保证系统检测到环境亮度发生剧烈变化的时候光圈能够快速平稳收敛,确定当前的C值。

在S303中,导入所述增量式PID控制算子,计算得到驱动PWM的值。

在本发明实施例中,在增量式非线性PID算法中导入增量式PIID控制算子,以计算得到驱动PWM的值。

进一步地,作为本发明的一个实施例,可以对传统的增量式PID算法进行改进,即:

将所述增量式PID控制算子导入u=u(ref)±Δduty,将得到的u值作为所述驱动PWM的值。其中,将传统的增量式PID算法中的u(k-1)替换为u(ref),该u(ref)为与当前的基准PWM相关的值,根据具体电路来进行设置,这样,最终输出的驱动PWM的值与上一次输出的驱动PWM的值的关系就直接切断了,当前输出的驱动PWM的值只与实际的硬件电路和当前的亮度误差值有关,这样一来,对摄像机的自动光圈控制实现起来更加简单,调节速度更快,调节效果更加稳定。

在S304中,根据所述驱动PWM的值对所述摄像机进行自动光圈控制。

在本发明实施例中,根据监控摄像机当前实时画面的亮度误差值来计算当前需要的驱动PWM,以实现对摄像头的自动光圈控制,在监控摄像机遇到环境亮度剧烈变化的情况下能够自动控制光圈开合,以达到适宜的曝光效果,且整个调节过程快速稳定,提升了安防监控的视频输出效果。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于上文实施例所述的用于安防监控领域的自动光圈控制方法,图6示出了本发明实施例提供的用于安防监控领域的自动光圈控制装置的结构框图,为了便于说明,仅示出了与本实施例相关的部分。

参照图6,该装置包括:

获取单元61,获取当前的亮度误差值,所述亮度误差值为摄像机当前获取的实时画面的平均亮度值与预设的目标亮度值的差值;

第一计算单元62,基于所述亮度误差值,采用非线性PID算法计算增量式PID控制算子;

第二计算单元63,导入所述增量式PID控制算子,计算得到驱动PWM的值;

控制单元64,根据所述驱动PWM的值对所述摄像机进行自动光圈控制。

可选地,所述装置还包括:

预处理单元,对所述亮度误差值进行预处理,包括将所述亮度误差值除以一个预设因子。

可选地,所述第一计算单元62具体用于:

计算p_data、i_data和d_data,其中:

p_data=p_coef*luma_data[0]/_div,luma_data[0]为当前的所述亮度误差值,p_div为预设常数,p_coef为关于所述亮度误差值的非负的单调递增函数;

i_datd=i_data+i_coef*luma_data[0],luma_data[0]与i_coef呈反比;

d_data=Δerror=luma_data[0]-luma_data[1],luma_data[1]为上一次输入的所述亮度误差值;

将p_data、i_data和d_data导入Δduty=Δu=A*p_data+B*i_data+C*d_data;

通过调试确定A、B、C的值,以得到所述增量式PID控制算子Δduty。

进一步地,所述第一计算单元62具体用于:

将B和C设置为0并调节A值,待所述摄像机的光圈达到第一预设稳定状态时,确定当前的A值。

将C设置为0,调节B值,待所述摄像机的光圈达到第二预设稳定状态时,确定当前的B值;

调节C值,待所述摄像机的光圈达到第三预设稳定状态时,确定当前的C值。

可选地,所述第二计算单元63具体用于:

将所述增量式PID控制算子导入u=u(ref)±Δduty,将得到的u值作为所述驱动PWM的值,u(ref)为与当前的基准PWM相关的值。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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