一种基于电液可调焦镜头的移动目标实时自动对焦方法与流程

文档序号:17925255发布日期:2019-06-15 00:22阅读:279来源:国知局
一种基于电液可调焦镜头的移动目标实时自动对焦方法与流程

本发明属于相机调焦技术领域,具体涉及一种基于电液可调焦镜头的移动目标实时自动对焦方法。



背景技术:

视觉信息作为人类感知外界信息的主要依据,在各类信息的占比可达80%。因此对于执行运动目标追踪的移动机器人而言,往往以图像序列作为检测、识别、跟踪目标的信息源,并以图像作为主要的人机交互方式来反馈目标信息,以帮助移动机器人的使用者更好地观察被跟踪目标,感知当前环境状态,做出进一步指令。

移动机器人在随动跟踪过程中,需要与目标保持合适的距离。若距离太近,当目标突然减速时移动机器人可能会因为制动不及时与目标发生碰撞,距离过近也不利于观察者通过图像反馈获取目标的整体状况和周边环境的信息;若距离过远,则移动机器人可能因目标突然加速或转向而跟丢目标。对于一套特定的光学成像系统,当其光圈大小、焦距等参数选定之后,其景深大小和位置就唯一确定下来。目标移动可能使其离开景深范围,造成其图像因离焦而模糊。因离焦而产生的模糊会使图像的边缘信息减少、细节信息丢失、图像白化,这些势必会影响目标追踪算法中的关键部分——目标特征表征的性能,进而影响目标追踪算法的整体性能;目标离焦产生的模糊还会妨碍视频观测者观察目标的细节和边缘信息,影响高质量信息的获取。

传统的自动对焦方法主要针对静止目标,或者物距波动不大的移动物体的对焦场景。当目标在视线方向移动时,目标不断离开景深范围,则需要进行对焦,传统的对焦方法一次对焦过程需要在整个调节范围内搜索最佳焦距的位置,往往需要耗费一两秒的时间,再加上目标跟踪算法本身的计算量,目前的算法根本难以满足运动目标跟踪的需求。此外,传统对焦方法单纯采用清晰度评价来判断目标位置变化,易受光照影响,算法脆弱。

以optotune为代表电液可调焦镜头的出现大大改变了上述困境。该类镜头具有调焦响应速度快、能耗低、结构紧凑、重复定位精度高等优势,可实现快速精确对焦。通过设置电流值可以改变镜头的焦距,而通过电流的变化可以表征目标的运动速度。因此跟踪电流的变化可以为移动机器人制定合适的随动策略。利用电液可调焦镜头保证目标始终处于清晰状态、使移动机器人和目标间的距离处于合理区间,始终得到清晰的图像,对于提升移动机器人的目标跟踪任务的执行效果、降低系统复杂度而言具有重大意义。

鉴于以上技术背景,基于电液可调焦镜头开发一个能够对运动目标实时对焦的算法具有重大意义。



技术实现要素:

本发明的目的在于提供一种能够快速对焦的基于电液可调焦镜头的移动目标实时自动对焦方法。

基于上述目的,本发明采用如下技术方案:一种基于电液可调焦镜头的移动目标实时自动对焦方法,包括如下步骤:

(1)算法初始化,以中心区域部分图像作为对焦窗口进行爬山法自动对焦,计算初始电流值i1;

(2)跟踪器初始化,框选目标,跟踪输出目标框作为后续对焦窗口;

(3)进行一次自动对焦,目标跟踪,读取当前帧,计算当前帧的电流值i2和尺寸size1;

(4)计算当前帧与前一帧电流差δi=i2-i1,变焦迭代,设置当前帧电流值i1=i2,下一帧预测电流值i2’=i2+δi,即设置下一帧的预测电流计算值为当前帧电流值加上电流差;

(5)目标跟踪,读取帧,计算尺寸size2;

(6)比较前后帧尺寸,根据不同的爬山方向进行相应的状态估计,得到当前帧精确电流值i2,然后设置size1=size2;

(7)对于同一目标重复步骤(4)至步骤(6),即可实现对运动目标的持续实时自动对焦。

进一步地,步骤(6)中所述状态估计的步骤为:

6.1由于电流改变的方向和目标运动方向相反,故运动方向

6.2若运动方向vd>0,进行以下判断决策:

ⅰ)size2<0.7*size1,说明目标处于加速状态,i2=i1+2*δi,step=4,进行爬山法对焦;

ⅱ)0.7*size1<size2<0.9*size1,说明目标处于匀速状态,i2=i1+δi,step=4,进行爬山法对焦

ⅲ)0.9*size1<size2<1.1*size1,说明目标处于静止或低速状态,i2=i1,无需对焦,跳转到步骤(4)

ⅳ)1.1*size1<size2,说明目标处于反向运动状态,i2=i1,step=4,进行爬山法对焦,搜索方向fd=-1,即爬山方向与运动方向相反,这是由于物距越远,电流值越小;

若运动方向vd<0,进行以下判断决策:

ⅰ)size2<0.9*size1,说明目标处于反向运动状态,i2=i1,step=4,进行爬山法对焦,搜索方向fd=1

ⅱ)0.9*size1<size2<1.1*size1,说明目标处于静止或低速状态,i2=i1,无需对焦,跳转到步骤(4)

ⅲ)1.1*size1<size2<1.3*size1,说明目标处于匀速状态,i2=i1+δi,step=4,进行爬山法对焦

ⅳ)1.3*size1<size2,说明目标处于加速状态,i2=i1+2*δi,step=4,进行爬山法对焦。

优选地,所述爬山法为一般爬山法或改进爬山法。

进一步地,所述改进爬山法的步骤为:具体为:

a)从点o开始,在区间[a,b]间以一定步长step=0.1*(b-a)开始搜索;

b)读取帧,计算当前帧的清晰度评价值;

c)判定清晰度评价值是否连续出现两个下降沿,即s-2>s-1>s0。若是,执行下一步;若否,继续执行步骤b);

d)改变步长改变搜索方向,若不存在清晰度评价值s-3,则起点o=s-1;若存在,执行下一步;

e)判定清晰度评价值s-3是否大于s-1;若是,起点o=s-2;若否,起点o=s-1;

f)判定步长是否小于等于预设的阈值1;若是,结束改进爬山搜索;若否,改变爬山搜索方向,重复步骤b)到步骤f);

g)利用改进爬山法的最后三次对焦数据进行抛物线拟合,计算得到极大值点的横坐标即为所需的对焦点;

其中,s0表示当前帧的清晰度评价值,s-1表示前一帧的清晰度评价值,s-2、s-3依次类推。

进一步地,改进爬山法的最后三次对焦数据为(x1,s1),(x2,s2),(x3,s3),进行抛物线拟合,则极值点的计算步骤如下:

解方程得到参数a,b,c的值,则

极值位置为

进一步地,清晰度评价值采用thenengrad函数计算,函数表达式为:

其中,i(x,y)表示坐标(x,y)处图像的像素值,

优选地,所述目标跟踪采用kcf算法,该算法能够在框选目标后持续跟踪目标并返回目标框的大小,在目标沿着视线方向运动时,目标框的大小也会变化,尽管不是精确的尺寸,但也可以很好的反映物体的距离信息。同时算法具有抵抗形变、光照等干扰的能力。

与现有技术相比,本发明具有以下优点:

(1)本发明结合目标跟踪算法和自动对焦,实现移动目标的实时自动对焦。与自动对焦相比,本发明提出的通过计算前后帧电流变化跟踪对焦,在目标运动状态不变的情况下,无需搜索对焦即可实现焦距跟踪;在目标运动状态改变的情况下,能够很好定位到离极值点较近的起始点,以很快的速度完成对焦。

(2)本发明提出通过尺寸计算判定状态改变,设定不同的起点,结合爬山对焦微调,可以在目标改变状态时实现快速对焦。通过运动状态跟踪对焦还能够大大减弱亮度对清晰度评价函数的干扰导致的重复、错误对焦。

进一步地,本发明采用新的改进爬山法,连续检测到两次下降沿为调头条件,再采用条件判断,计算下一步搜索的起点,与普通的连续检测到三次以上下降沿为调头条件的爬上法相比,避免路径的不必要重复。和现有的爬山法相比,本发明提出的改进爬山法抗噪能力高,同时大大减少了调焦的次数,提高算法速度。再通过结合曲线拟合法,取代了现有爬山法的小步长细调焦,一次计算得到极值点,减少了调焦次数,提高算法速度,大大减少计算量,实现了快速对焦。

综上,本发明提出的实时对焦方法,完成一次对焦时间平均为437ms,相比传统爬山法的2736ms有很大的提高。并且针对运动目标可以达到94%的稳定性,即94%的对焦结果处于正焦位置的内。

附图说明

图1是本发明的实时自动对焦方法的流程图。

具体实施方式

以下结合附图和实施例对本发明作进一步说明。

实施例1

一种基于电液可调焦镜头的移动目标实时自动对焦方法,如图1所示,包括如下步骤:

(1)算法初始化,以中心区域部分图像作为对焦窗口进行一般爬山法自动对焦,计算初始电流值i1;

(2)跟踪器初始化,框选目标,跟踪输出目标框作为后续对焦窗口;

(3)进行一次一般爬山法自动对焦,采用kcf算法目标跟踪,读取当前帧,计算当前帧的电流值i2和尺寸size1;

(4)计算当前帧与前一帧电流差δi=i2-i1,变焦迭代,设置当前帧电流值i1=i2,下一帧预测电流值i2’=i2+δi,即设置下一帧的预测电流计算值为当前帧电流值加上电流差;

(5)采用kcf算法目标跟踪,读取帧,计算尺寸size2;

(6)比较前后帧尺寸,根据不同的爬山方向进行相应的状态估计,得到当前帧精确电流值i2,然后设置size1=size2;状态估计的具体步骤为:

6.1由于电流改变的方向和目标运动方向相反,故运动方向

6.2若运动方向vd>0,进行以下判断决策:

ⅰ)size2<0.7*size1,说明目标处于加速状态,i2=i1+2*δi,step=4,进行爬山法对焦;

ⅱ)0.7*size1<size2<0.9*size1,说明目标处于匀速状态,i2=i1+δi,step=4,进行爬山法对焦

ⅲ)0.9*size1<size2<1.1*size1,说明目标处于静止或低速状态,i2=i1,无需对焦,跳转到步骤(4)

ⅳ)1.1*size1<size2,说明目标处于反向运动状态,i2=i1,step=4,进行爬山法对焦,搜索方向fd=-1,即爬山方向与运动方向相反,这是由于物距越远,电流值越小;

若运动方向vd<0,进行以下判断决策:

ⅰ)size2<0.9*size1,说明目标处于反向运动状态,i2=i1,step=4,进行爬山法对焦,搜索方向fd=1

ⅱ)0.9*size1<size2<1.1*size1,说明目标处于静止或低速状态,i2=i1,无需对焦,跳转到步骤(4)

ⅲ)1.1*size1<size2<1.3*size1,说明目标处于匀速状态,i2=i1+δi,step=4,进行爬山法对焦

ⅳ)1.3*size1<size2,说明目标处于加速状态,i2=i1+2*δi,step=4,进行爬山法对焦。

(7)对于同一目标重复步骤(4)至步骤(6),即可实现对运动目标的持续实时自动对焦。

实施例2

一种基于电液可调焦镜头的移动目标实时自动对焦方法,其步骤与实施例1基本相同,其不同之处在于:步骤(1)、步骤(3)和步骤(6)中采用了改进爬山法对焦。

改进爬山法的步骤为:具体为:

a)从点o开始,在区间[a,b]间以一定步长step=0.1*(b-a)开始搜索;

b)读取帧,计算当前帧的清晰度评价值;

c)判定清晰度评价值是否连续出现两个下降沿,即s-2>s-1>s0。若是,执行下一步;若否,继续执行步骤b);

d)改变步长改变搜索方向,若不存在清晰度评价值s-3,则起点o=s-1;若存在,执行下一步;

e)判定清晰度评价值s-3是否大于s-1;若是,起点o=s-2;若否,起点o=s-1;

f)判定步长是否小于等于预设的阈值1;若是,结束改进爬山搜索;若否,改变爬山搜索方向,重复步骤b)到步骤f);

g)利用改进爬山法的最后三次对焦数据(x1,s1),(x2,s2),(x3,s3),进行抛物线拟合,则极值点的计算步骤如下:

解方程得到参数a,b,c的值,则

极值位置为计算得到极大值点的横坐标即为所需的对焦点;

其中,s0表示当前帧的清晰度评价值,s-1表示前一帧的清晰度评价值,s-2、s-3依次类推。

清晰度评价值采用thenengrad函数计算,函数表达式为:

其中,i(x,y)表示坐标(x,y)处图像的像素值,

利用上述实时对焦方法,完成一次对焦时间平均为437ms,相比传统爬山法的2736ms有很大的提高,并且针对运动目标可以达到94%的稳定性,即94%的对焦结果处于正焦范围内。

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