云台控制方法、装置、云台及移动设备与流程

文档序号:18868201发布日期:2019-10-14 18:51阅读:257来源:国知局
云台控制方法、装置、云台及移动设备与流程

本发明涉及云台技术领域,特别涉及一种云台控制方法、装置、云台及移动设备。



背景技术:

在航拍、高速跟拍、手持拍摄等移动场景中,为了保证拍摄的图像的稳定性,越来越多的移动设备会配置云台,云台用于固定摄像头,通过控制云台进行移动和/或姿态调整,能够让摄像头保持稳定,从而保证摄像头拍摄的图像保持稳定。

受到零点偏移、地磁干扰等因素的影响,云台在运行中自身会发生抖动,导致摄像头也发生抖动,影响摄像头的成像质量。为了补偿云台发生的抖动,云台可以获取摄像头当前拍摄的相邻两帧图像,确定前一帧图像和后一帧图像中对应的特征点,计算特征点在两帧图像中坐标信息的变化量,根据对应特征点的坐标信息的变化量,获取云台在拍摄两帧图像期间的倾斜角度,根据该倾斜角度,矫正云台的姿态,以使云台的姿态恢复到抖动前的姿态。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

云台稳定时,也经常产生姿态倾斜,导致摄像头随之产生姿态倾斜,进而导致摄像头拍摄的图像倾斜,成像质量较差。



技术实现要素:

本发明实施例提供了一种云台控制方法、装置、云台及移动设备,能够解决现有技术中云台产生倾斜导致摄像头拍摄的图像倾斜的技术问题,所述技术方案如下:

一方面,提供了一种云台控制方法,所述方法包括:

根据云台上架设的摄像头当前拍摄的图像,提取所述图像中用于标识物体边缘的至少一条线段;

根据所述至少一条线段,获取所述物体倾斜的角度;

根据所述物体倾斜的角度,获取所述云台倾斜的角度;

根据所述云台倾斜的角度,矫正所述云台的姿态。

在一种可能的设计中,所述根据所述至少一条线段,获取所述物体倾斜的角度,包括:

对所述至少一条线段按照角度进行聚类,得到至少一个类;

对于所述至少一个类中的每个类,根据所述每个类中线段的长度,获取所述每个类的收益,所述收益与对应类中线段的长度正相关;

根据所述每个类的收益,从所述至少一个类中选取主类,所述主类为符合预设条件的类;

根据所述主类中线段的角度,获取所述物体倾斜的角度。

在一种可能的设计中,所述根据所述每个类中线段的长度,获取所述每个类的收益,包括:

获取所述每个类中每条线段的长度的和值,作为所述每个类的收益;或,

获取所述每个类中每条线段的长度的加权和值,作为所述每个类的收益,其中每条线段的权重根据线段长短的程度和/或线段角度的离散度确定;或,

根据所述每个类中线段的角度,获取所述每个类的角度收益,所述角度收益与类中线段的角度的离散度正相关;根据所述每个类中线段的长度,获取所述每个类的长度收益,所述长度收益与对应类中线段的长度正相关;对所述每个类的角度收益和长度收益进行拟合,将拟合的结果作为所述每个类的收益。

在一种可能的设计中,所述根据所述每个类的收益,从所述至少一个类中选取主类,包括:

从所述至少一个类中选取收益最大的类,作为主类;或,

当所述至少一个类中收益最大的类与收益第二大的类的收益之间的差值大于预设差值阈值时,将所述收益最大的类作为主类;或,

当所述至少一个类中收益最大的类与收益第二大的类的收益的差值不大于预设差值阈值时,基于垂直方向的类,从所述收益最大的类与所述收益第二大的类中选取主类,所述主类的线段与所述垂直方向的类的线段符合垂直条件。

在一种可能的设计中,所述根据所述主类中线段的角度,获取所述物体倾斜的角度,包括:

计算所述主类中线段的角度的平均值,作为所述物体倾斜的角度;或,

计算所述主类中线段的角度的加权平均值,作为所述物体倾斜的角度,所述加权平均值中线段的权重根据线段长短的程度和/或线段角度的离散度确定;或,

将所述主类中最长的线段的角度作为所述物体倾斜的角度。

在一种可能的设计中,所述根据所述物体倾斜的角度,获取所述云台倾斜的角度,包括:

将所述物体倾斜的角度从图像坐标系转换为世界坐标系,得到所述云台倾斜的角度。

在一种可能的设计中,所述根据所述至少一条线段,获取所述图像中物体倾斜的角度之前,所述方法还包括:

删除长度小于预设长度和/或斜率不属于预设斜率范围的线段;和/或,

将位于同一直线上且距离属于预设距离范围的相邻线段合并为一条线段。

在一种可能的设计中,所述根据云台上架设的摄像头当前拍摄的图像,提取所述图像中物体边缘的至少一条线段之前,所述方法还包括:

当接收到的控制指令指示所述云台保持姿态不变时,确定所述云台当前处于稳定状态;或,

当所述云台的移动速度小于预设速度时,确定所述云台当前处于稳定状态。

另一方面,提供了一种云台控制装置,所述装置包括:

提取模块,用于根据云台上架设的摄像头当前拍摄的图像,提取所述图像中用于标识物体边缘的至少一条线段;

获取模块,用于根据所述至少一条线段,获取所述物体倾斜的角度;

所述获取模块,还用于根据所述物体倾斜的角度,获取所述云台倾斜的角度;

矫正模块,用于根据所述云台倾斜的角度,矫正所述云台的姿态。

在一种可能的设计中,所述获取模块,包括:

聚类子模块,用于对所述至少一条线段按照角度进行聚类,得到至少一个类;

获取子模块,用于对于所述至少一个类中的每个类,根据所述每个类中线段的长度,获取所述每个类的收益,所述收益与对应类中线段的长度正相关;

选取子模块,用于根据所述每个类的收益,从所述至少一个类中选取主类,所述主类为符合预设条件的类。

所述获取子模块,还用于根据所述主类中线段的角度,获取所述物体倾斜的角度。

在一种可能的设计中,所述获取子模块,用于获取所述每个类中每条线段的长度的和值,作为所述每个类的收益;或,获取所述每个类中每条线段的长度的加权和值,作为所述每个类的收益,其中每条线段的权重根据线段长短的程度和/或线段角度的离散度确定;或,根据所述每个类中线段的角度,获取所述每个类的角度收益,所述角度收益与类中线段的角度的离散度正相关;根据所述每个类中线段的长度,获取所述每个类的长度收益,所述长度收益与对应类中线段的长度正相关;对所述每个类的角度收益和长度收益进行拟合,将拟合的结果作为所述每个类的收益。

在一种可能的设计中,所述选取子模块,用于从所述至少一个类中选取收益最大的类,作为主类;或,当所述至少一个类中收益最大的类与收益第二大的类的收益之间的差值大于预设差值阈值时,将所述收益最大的类作为主类;或,当所述至少一个类中收益最大的类与收益第二大的类的收益的差值不大于预设差值阈值时,基于垂直方向的类,从所述收益最大的类与所述收益第二大的类中选取主类,所述主类的线段与所述垂直方向的类的线段符合垂直条件。

在一种可能的设计中,所述获取子模块,用于:计算所述主类中线段的角

度的平均值,作为所述物体倾斜的角度;或,

计算所述主类中线段的角度的加权平均值,作为所述物体倾斜的角度,所述加权平均值中线段的权重根据线段长短的程度和/或线段角度的离散度确定;或,

将所述主类中最长的线段的角度作为所述物体倾斜的角度。

在一种可能的设计中,所述获取模块,还用于将所述物体倾斜的角度从图像坐标系转换为世界坐标系,得到所述云台倾斜的角度。

在一种可能的设计中,所述装置还包括:

删除模块,用于删除长度小于预设长度和/或斜率不属于预设斜率范围的线段;和/或,

合并模块,用于将位于同一直线上且距离属于预设距离范围的相邻线段合并为一条线段。

在一种可能的设计中,所述装置还包括:

确定模块,用于当接收到的控制指令指示所述云台保持姿态不变时,确定所述云台当前处于稳定状态;或,当所述云台的移动速度小于预设速度时,确定所述云台当前处于稳定状态。

另一方面,提供了一种云台,所述云台包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述云台控制方法所执行的操作。

另一方面,提供了一种移动设备,所述移动设备包括云台,所述云台用于实现上述云台控制方法所执行的操作。

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述云台控制方法所执行的操作。

本发明实施例提供的技术方案带来的有益效果是:

本实施例提供的方法、装置、云台及移动设备,通过提取图像中用于标识物体边缘的至少一条线段,获取图像中物体倾斜的角度,从而获取云台倾斜的角度,进而矫正云台的姿态,能够矫正云台产生的姿态倾斜,从而矫正摄像头产生的姿态倾斜,进而避免摄像头拍摄的图像倾斜,提高了成像质量。

附图说明

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

图1是本发明实施例提供的云台控制系统的架构示意图;

图2是本发明实施例提供的一种云台控制方法的流程图;

图3是本发明实施例提供的一种云台控制方法的流程图;

图4是本发明实施例提供的一种从图像中提取的线段的示意图;

图5是本发明实施例提供的一种对线段进行筛选的示意图;

图6是本发明实施例提供的一种对线段进行合并的示意图;

图7是本发明实施例提供的一种对线段进行聚类的示意图;

图8是本发明实施例提供的一种从类中选取主类的示意图;

图9是本发明实施例提供的一种确定物体倾斜的角度的示意图;

图10是本发明实施例提供的一种云台控制装置的结构示意图;

图11是本发明实施例提供的一种云台的结构示意图;

图12是本发明实施例提供的一种移动设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

云台的imu(inertialmeasurementunit,惯性测量单元)经常由于零点偏移、噪声干扰等因素的影响,产生一定的漂移误差,导致云台在横滚轴方向不会一直保持水平状态,造成云台中的摄像头拍摄的图像在视觉上会存在倾斜的情况,不符合观察者的使用习惯。

而本发明实施例提供的云台,可应用于航拍场景,即在空中对地面上的物体进行拍摄,因此拍摄的图像经常包括地面上的建筑、地平线、树木等具有明显垂直或水平特征的物体。若云台在横滚轴方向上发生倾斜,则图像也会整体发生倾斜,因此拍摄的图像中的物体将不再保持水平或垂直。本发明利用图像处理的方式,能够感知拍摄的图像中物体的倾斜的角度,基于物体的倾斜的角度,获取云台倾斜的角度,将云台倾斜的角度发送至云台电机控制机构,从而对云台在稳定状态下横滚轴方向上产生倾斜的情况予以矫正。

参见图1,其示出了本发明实施例提供的云台控制系统的架构示意图,云台控制系统可以包括拍摄部件、图像处理以及存储模块、状态分析模块、倾斜矫正模块、云台控制回路和电机控制结构。拍摄部件负责拍摄图像,并将拍摄的图像实时发送给图像处理以及存储模块;状态分析模块通过对控制指令和/或移动速度的分析,判断当前云台是否处于稳定状态,如果云台处于稳定状态,则触发倾斜矫正模块;该图像处理及存储模块负责对拍摄的图像中的线段进行提取,对提取的线段进行聚类和筛选,得到物体倾斜的角度,并将物体倾斜的角度发送给倾斜矫正模块;倾斜矫正模块根据物体倾斜的角度,计算云台倾斜的角度,并将云台倾斜的角度输出至云台控制回路;云台控制回路根据得到的云台倾斜的角度输出对电机控制结构的控制命令,由电机控制结构带动云台矫正姿态,达到最终的矫正效果。

图2是本发明实施例提供的一种云台控制方法的流程图,参见图2,该方法包括:

201、根据云台上架设的摄像头当前拍摄的图像,提取图像中用于标识物体边缘的至少一条线段。

202、根据至少一条线段,获取物体倾斜的角度。

203、根据物体倾斜的角度,获取云台倾斜的角度。

204、根据云台倾斜的角度,矫正云台的姿态。

本实施例提供的方法,通过提取图像中用于标识物体边缘的至少一条线段,获取图像中物体倾斜的角度,从而获取云台倾斜的角度,进而矫正云台的姿态,能够矫正云台当产生的姿态倾斜,从而矫正摄像头产生的倾斜,进而避免摄像头拍摄的图像倾斜,提高了成像质量。

在一种可能的设计中,该根据至少一条线段,获取物体倾斜的角度,包括:

对该至少一条线段按照角度进行聚类,得到至少一个类;

对于该至少一个类中的每个类,根据该每个类中线段的长度,获取该每个类的收益,该收益与对应类中线段的长度正相关;

根据该每个类的收益,从该至少一个类中选取主类,该主类为符合预设条件的类;

根据该主类中线段的角度,获取该物体倾斜的角度。

在一种可能的设计中,该根据该每个类中线段的长度,获取该每个类的收益,包括:

获取该每个类中每条线段的长度的和值,作为该每个类的收益;或,

获取该每个类中每条线段的长度的加权和值,作为该每个类的收益,其中每条线段的权重根据线段长短的程度和/或线段角度的离散度确定;或,

根据该每个类中线段的角度,获取该每个类的角度收益,该角度收益与类中线段的角度的离散度正相关;根据该每个类中线段的长度,获取该每个类的长度收益,该长度收益与对应类中线段的长度正相关;对该每个类的角度收益和长度收益进行拟合,将拟合的结果作为该每个类的收益。

在一种可能的设计中,该根据该每个类的收益,从该至少一个类中选取主类,包括:

从该至少一个类中选取收益最大的类,作为主类;或,

当该至少一个类中收益最大的类与收益第二大的类的收益之间的差值大于预设差值阈值时,将该收益最大的类作为主类;或,

当该至少一个类中收益最大的类与收益第二大的类的收益的差值不大于预设差值阈值时,基于垂直方向的类,从该收益最大的类与该收益第二大的类中选取主类,该主类的线段与该垂直方向的类的线段符合垂直条件。

在一种可能的设计中,该根据该主类中线段的角度,获取该物体倾斜的角度,包括:

计算该主类中线段的角度的平均值,作为该物体倾斜的角度;或,

计算该主类中线段的角度的加权平均值,作为该物体倾斜的角度,该加权平均值中线段的权重根据线段长短的程度和/或线段角度的离散度确定;或,

将该主类中最长的线段的角度作为该物体倾斜的角度。

在一种可能的设计中,该根据该物体倾斜的角度,获取该云台倾斜的角度,包括:

将该物体倾斜的角度从图像坐标系转换为世界坐标系,得到该云台倾斜的角度。

在一种可能的设计中,该根据该至少一条线段,获取该图像中物体倾斜的角度之前,该方法还包括:

删除长度小于预设长度和/或斜率不属于预设斜率范围的线段;和/或,

将位于同一直线上且距离属于预设距离范围的相邻线段合并为一条线段。

在一种可能的设计中,该根据云台上架设的摄像头当前拍摄的图像,提取该图像中物体边缘的至少一条线段之前,该方法还包括:

当接收到的控制指令指示该云台保持姿态不变时,确定该云台当前处于稳定状态;或,

当该云台的移动速度小于预设速度时,确定该云台当前处于稳定状态。

图3是本发明实施例提供的一种云台控制方法的流程图,参见图3,该方法的执行主体为云台,该云台可以为移动设备配置的云台、手持云台、影视剧拍摄云台、高空瞭望云台、实时监控云台等,该移动设备可以为无人机、车载终端、影视剧摄像机、手机等,该方法包括:

301、云台确定当前处于稳定状态。

云台的稳定状态是指云台未发生抖动的状态,例如云台处于静止状态、缓慢移动的状态或者其它姿态相对稳定的状态,云台可以实时检测当前是否处于稳定状态,如果确定云台处于稳定状态,则执行后续步骤302,如果确定当前不处于稳定状态,则无需执行后续步骤302。

针对确定云台处于稳定状态的过程,在此示例性地提供以下两种实现方式:

实现方式一、云台可以当接收到的控制指令指示云台保持姿态不变时,确定云台当前处于稳定状态。

云台在运行中可以实时接收控制指令,根据控制指令控制自身的姿态。其中,控制指令可以由用户在云台或搭载云台的移动设备上执行的输入操作触发,控制指令可以用于指示云台进行姿态调整,或指示云台保持姿态不变。

本实施例中,当云台接收到的控制指令指示云台保持姿态不变时,云台可以确定自身处于稳定状态。其中,云台可以解析控制指令,判断控制指令是否指示云台保持姿态不变,当控制指令指示云台保持不变时,云台可以确定当前处于稳定状态,并执行后续矫正姿态的过程,而当控制指令指示云台进行姿态调整时,云台可以先根据控制指令进行姿态调整,当姿态调整后达到稳定,再执行后续矫正姿态的过程。

示例性地,确定控制指令指示云台保持姿态不变的过程可以包括以下设计一和设计二:

设计一、控制指令可以携带控制参数,控制参数用于调节云台的运行状态。例如,控制参数可以为角速度,以便控制云台按照该角速度进行加速旋转或减速旋转,又如控制参数可以为角度,以便控制云台旋转该角度。

本实施例中,当云台接收到的控制指令中的控制参数小于预设阈值时,云台可以确定自身处于稳定状态。其中,预设阈值可以根据业务需求确定,例如可以为0或其他较小的数值。以预设阈值为0为例,云台可以解析控制指令,判断控制指令携带的控制参数是否为0,当控制参数不为0时,表明云台仍需按照控制参数调节运行状态,则确定云台不处于稳定状态。而当控制参数为0时,表明云台暂时无需调节运行状态,则确定云台处于稳定状态。

可选的,云台可以当接收到控制参数为0的控制指令时,启动定时器,当经过预设时长,接收到的控制指令携带的控制参数始终为0时,再确定云台处于稳定状态,从而提高稳定状态的确定过程的可靠性。

设计二、控制指令可以携带指示标识,该指示标识用于指示云台保持姿态不变,云台可以解析控制指令,判断控制指令是否携带该指示标识,当控制指令携带该指示标识时,云台可以确定当前处于稳定状态,并执行后续矫正姿态的过程,而当控制指令未携带该指示标识时时,云台可以先根据控制指令进行姿态调整,当姿态调整后达到稳定,再执行后续矫正姿态的过程。其中,该指示标识的具体内容可以根据业务需求确定,例如为“holdon”、“keep”或“0”等。

实现方式二、当云台的移动速度小于预设速度时,云台确定当前处于稳定状态。

云台可以实时获取当前的移动速度,判断该移动速度是否小于预设速度,当移动速度小于预设速度时,表明云台移动的速度极为缓慢,则确定云台处于稳定状态。其中,当云台搭载在无人机上时,移动速度可以为无人机的飞行速度,当云台搭载在车辆上时,移动速度可以为车辆的行驶速度。

需要说明的第一点是,上述设计一和设计二可以采用结合的方式形成确定云台处于稳定状态的方式,即云台可以根据接收到的控制指令和云台的移动速度,确定云台当前处于稳定状态,例如当接收到的控制指令中指示云台保持姿态不变且移动速度是否小于预设速度时,确定云台当前处于稳定状态。

需要说明的第二点是,本步骤301仅为可选步骤,云台也可以无需执行本步骤301,而直接从步骤302开始执行。

302、云台提取图像中用于标识物体边缘的至少一条线段。

云台可以搭载一个或多个摄像头,摄像头可以实时拍摄物体的图像,云台可以获取摄像头当前拍摄的图像,从图像中提取出标识物体边缘的线段,以便根据提取的线段确定物体倾斜的角度。

针对提取线段的具体方式,云台可以采用线段检测算法对图像进行计算,得到图像中标识物体边缘的线段。其中,线段检测算法可以为霍夫变换(houghtransform)算法、canny边缘检测方法、marr-hildeth边缘检测方法或lsd(linesegmentdetector,直线检测分割算法)等方法。

示例性地,参见图4,其示出了从图像中提取出的线段的示意图,ab、cd、ef等均为标识物体边缘的线段。

303、云台对至少一条线段进行筛选。

可选地,云台从图像中提取线段后,可以对这些线段进行筛选,从这些线段中删除过短和/或过于倾斜的线段,以便根据剩余的线段执行后续步骤,从而提高后续确定的物体倾斜的角度的准确性。其中,云台可以将每条线段在图像坐标系中进行表示,获取每条线段在图像坐标系中的起点坐标、终点坐标、长度和斜率,以便得到的信息对线段进行筛选。其中,图像坐标系可以为笛卡尔坐标系、极坐标系或其它类型的坐标系。

具体来说,对线段进行筛选的过程可以包括以下设计一和设计二:

设计一、从至少一条线段中删除长度小于预设长度的线段。

云台可以获取每条线段的长度,判断每条线段的长度是否小于预设长度,当线段的长度小于预设长度时,表明线段过短,可能为图像中的噪声、无关的背景、文字等,对确定物体倾斜的角度的过程来说价值不大,则会删除线段。其中,该预设长度用于指示可筛选出的线段的最短长度,预设长度可以根据实际需求或经验设置。

可选地,考虑到图像中线段的长度实际为图像中一段像素点占据的长度,若图像的分辨率越高,则图像中的线段越整体偏长。则预设长度可以与图像的分辨率相关,图像的分辨率越高,则预设长度越大。其中,云台可以存储分辨率与长度之间的对应关系,根据当前拍摄的图像的分辨率,查询该对应关系,将该分辨率对应的长度作为预设长度。

设计二、从至少一条线段中删除斜率不属于预设斜率范围的线段

云台可以获取每条线段的斜率,判断每条线段的斜率是否属于预设斜率范围,当线段的斜率属于预设斜率范围时,表明线段的倾斜程度过大,则可以获知该线段所在的物体的姿态原本就是倾斜的,而不是由于云台姿态的偏移,才导致图像中的线段产生倾斜。因此,云台会删除该线段,以避免该线段对后续提取物体倾斜的角度的过程造成干扰。

其中,该预设斜率范围用于指示可筛选出的线段的斜率所处的范围,预设斜率范围可以根据实际需求确定,可选地,预设斜率范围可以包括水平方向的预设斜率范围和垂直方向的预设斜率范围,对于角度接近水平方向的线段来说,可以判断该线段的斜率是否处于水平方向的预设斜率范围,而对于角度接近垂直方向的线段来说,可以判断该线段的斜率是否处于垂直方向的预设斜率范围。进一步地,预设斜率范围可以根据云台在横滚轴方向上允许的最大倾斜角度确定,例如,假设最大倾斜角度为theta,水平方向的预设斜率范围可以为(-theta,theta),垂直方向的预设斜率范围可以为(90°-theta,90°+theta)。

示例性地,参见图5,其示出了对线段进行筛选的示意图,从图像中直接提取出的至少一条线段中,线段mn的斜率超过预设斜率范围,表明线段mn的倾斜程度过大,因此会删除线段mn,而线段wx的长度小于预设长度,表明线段wx过短,因此会删除线段wx。

304、云台对至少一条线段进行合并。

云台从图像中提取了至少一条线段后,可以将位于同一直线上且距离属于预设距离范围的相邻线段合并为一条线段。其中,两条线段的距离可以为前一线段的终点与后一线段的起点之间的距离。示例性地,参见图5,线段ef和线段gh的距离为f点和g点的距离。

预设距离范围用于指示可合并的不同线段之间的最大距离,预设距离范围可以根据实际需求确定。可选的,预设距离范围可以根据图像中的像素数量、变焦倍数确定,以预设距离范围为d、像素的数量为pi2es、变焦倍数为n为例,预设距离范围可以根据以下公式确定:d=k_2%*(1/n)*pi2es,其中k表示预设参数。

针对合并相邻线段的方式,可以将后一线段进行平移,以使后一线段的起点与前一线段的终点重合,从而得到两条线段合并的线段。示例性地,参见图6,将线段ef和线段gh合并后,得到线段eh。

通过合并线段的过程,可以减少提取的线段的数量,从而减少后续根据提取的线段确定物体倾斜的角度的计算量,提高确定物体倾斜的角度的效率。

305、云台根据至少一条线段,获取物体倾斜的角度。

物体倾斜的角度能够指示物体倾斜的程度大小以及物体倾斜的方向,例如可以为物体倾斜的方向与预设目标方向之间的夹角。

预设目标方向也可以称为期望方向、目标方向、观察习惯方向、理想观察方向等,预设目标方向为用户观察图像时双眼连线的方向,预设目标方向可以根据用户的个人观察习惯设置,例如考虑到用户一般沿水平方向观察图像,则预设目标方向可以为水平方向。

物体倾斜的方向也可以称为图像的主方向、基准方向等,若物体倾斜的方向与预设目标方向一致,则可以认为该物体的姿态正立,若物体倾斜的方向与预设目标方向不一致,则可以认为该物体的姿态倾斜,另外,若物体预设目标方向越偏离预设目标方向,则可认为该物体倾斜的程度越大。

本实施例中,如果云台在横滚轴方向上的姿态未发生倾斜,则图像中物体倾斜的方向会与预设目标方向一致,物体的倾斜角度为0°,那么图像的视觉效果也会是未倾斜的。而如果云台在横滚轴方向上的姿态发生倾斜,则图像中物体倾斜的方向会偏离预设目标方向,物体的倾斜角度大于0°,那么图像的视觉效果倾斜。进一步地,物体倾斜的方向越偏离预设目标方向,物体的倾斜角度越大,图像的视觉效果越倾斜。

本实施例中,云台可以根据图像中提取出的线段,获取物体倾斜的角度,以便后续根据物体倾斜的角度获取云台倾斜的角度,进而进行姿态调整。在一种可能的实现方式中,获取物体倾斜的角度的过程可以包括以下步骤一至步骤三。

步骤一、对至少一条线段按照角度进行聚类,得到至少一个类。

云台可以获取每条线段的角度,根据每条线段的角度,将角度接近的线段聚成一个类,从而得到至少一个类,每个类包括一条或多条线段,同一类中的不同线段平行或角度之间的差距较小。其中,针对获取线段的角度的方式,可以建立图像坐标系,将线段在图像坐标系中表示,将线段的方向与图像坐标系的x轴之间的夹角作为线段的角度,另外,可以取预设目标方向作为图像坐标系的x轴的方向。

示例性地,参见图4和图7,对图4中的线段进行聚类后,得到的至少一个类如图7所示,线段st为一个类,线段qr和线段op聚成一个类,线段uv为一个类,线段yz、线段eh聚成一个类,线段ij、线段kl、线段ab和线段cd聚成一个类。

针对按照角度进行聚类的具体过程,可以根据每条线段的角度,设置多个聚类角度范围,对于任一聚类角度范围,获取角度属于该聚类角度范围内的至少一个线段,组成该聚类角度范围对应的类。其中,聚类角度范围的中心值可以为任一线段的角度,聚类角度范围的跨度可以为云台在横滚轴方向上可达到的最大倾斜角度。

在一种可能的设计中,可以采用滑窗法对线段进行聚类:将至少一条线段在极坐标系中表示,以极坐标系的原点为扫描窗口的顶点,以聚类角度范围的跨度为扫描窗口的扫描范围,创建弧形的扫描窗口,从极坐标系的极轴开始旋转,每当扫描到任一线段时,将扫描窗口内的所有线段聚成一个类。如此,当扫描窗口绕原点扫描一周后,即可得到至少一个类。

步骤二、对于至少一个类中的每个类,云台根据每个类中线段的长度,获取每个类的收益,收益与对应类中线段的长度正相关。

当云台将线段聚为至少一个类后,为了确定根据哪个类计算物体倾斜的角度,本实施例设置了收益这一指标,收益能够衡量类的可靠性,能够指示类中线段的角度代表图像整体的倾斜角度的程度,若类的收益越大,表明类中线段的方向越能代表图像整体的方向,则后续将类选取为主类的概率越高。结合收益这一指标,云台可以根据每个类中线段的长度,获取每个类的收益,根据每个类的收益从至少一个类中选取主类,以便根据选取出的主类计算物体倾斜的角度。另外,如果线段聚类后仅得到一个类,则直接将这一个类作为主类即可。

针对计算收益的方式,考虑到线段的长度能够反映线段在图像中所占的比例,因此能够衡量线段的角度代表图像整体的倾斜角度的程度,因此可以设置收益与对应类中线段的长度正相关,即类中线段的越长,类的收益越大。示例性地,计算收益的具体过程可以包括以下实现方式一至实现方式三:

实现方式一、获取每个类中每条线段的长度的和值,作为每个类的收益。

对于至少一个类中的每个类,可以获取每个类中每个线段的长度,计算每个类中所有线段的长度的和值。其中,长度的和值可以称为聚类表征值,类中线段的长度的和值越大,表明类中所有线段在图像中所占的比例越大,则根据类确定的物体倾斜的角度的准确性越强,因此可以将长度的和值作为类的收益。

实现方式二、获取每个类中每条线段的长度的加权和值,作为每个类的收益,其中每条线段的权重根据线段长短的程度和/或线段的角度的离散度确定。

在线段的长度的基础上,考虑到线段长短的程度和/或线段角度偏移度也会影响根据对应类的线段确定物体倾斜的角度的可靠性,则可以在根据每条线段的长度的基础上,结合线段长短的程度和/或角度的离散度,对每个类中每条线段的长度进行加权求和,将加权和值作为每个类的收益。

具体地,计算加权和值的过程可以包括以下(1)至(2):

(1)对于至少一个类中的每个类,根据每个类中每条线段的长短的程度和/或线段的角度,获取每条线段的权重。

权重的大小可以与线段的长短的长度正相关,例如,线段的长度越长,表明线段在图像中所占的比例越大,线段的权重越大。其中,可以预先建立线段的长度和权重之间的预设关系,根据线段的长度查询预设关系,得到对应的权重。

权重的大小可以与线段的角度的离散度负相关,角度的离散度用于指示线段的角度偏离对应类的平均角度的程度,例如可以为线段的角度与类中所有线段的平均角度之间的差值。云台可以根据类中每个线段的角度,计算线段的角度的离散度,根据该离散度获取权重。其中,可以预先建立角度的离散度和权重之间的预设关系,对于任一线段,可以根据该线段的角度的离散度查询预设关系,得到线段的权重。

需要说明的是,可以只根据每条线段的长短的程度,确定线段的权重,或者只根据每条线段的角度,确定线段的权重,也可以同时根据每条线段的长短的程度和每条线段的角度,确定线段的权重,例如可以获取线段的长短的程度对应的权重以及线段的角度的偏移度对应的权重,计算两个权重的乘积,将该乘积作为最终确定线段的权重。

(2)根据每个线段的权重,对每条线段的长度进行加权求和,得到每个类的加权和值。

实现方式三、对每个类的角度收益和长度收益进行拟合,得到每个类的收益。

角度收益与类中线段的角度的离散度正相关,可以根据类中线段的角度的离散度,计算类的角度收益,例如可以将角度的离散度直接作为角度收益,或将角度的离散度与预设系数的乘积作为角度收益。

长度收益与类中线段的长度正相关,可以将类中每条线段的长度的和值作为类的长度收益,或将长度的和值与预设系数的乘积作为类的长度收益,或将类中每条线段的长度的加权和值作为类的长度收益,或将加权和值与预设系数的乘积作为类的长度收益。

当得到类的角度收益和长度收益后,可以采用曲线拟合、按照某一预设函数进行拟合等拟合方式,对角度收益和长度收益进行拟合,将拟合的结果作为类的收益。

步骤三、根据每个类的收益,从至少一个类中选取主类,主类为符合预设条件的类。

当得到每个类的收益后,可以对至少一个类按照收益的大小进行排序,根据每个类的收益的大小,从至少一个类中选取预设条件的类,作为主类。其中,预设条件可以为收益最大的类或收益第二大的类。

示例性地,选取主类的具体过程可以包括以下三种实现方式:

实现方式一、可以从至少一个类中选取收益最大的类,作为主类。

实现方式二、当至少一个类中收益最大的类与收益第二大的类的收益之间的差值大于预设差值阈值时,将收益最大的类作为主类。

可以选取收益最大的类以及收益第二大的类,计算这两个类的收益之间的差值,当该差值大于预设差值阈值时,表明收益最大的类的收益明显大于收益第二大的类的收益,可知该收益最大的类的表现遥遥领先于其他类,因此可以直接将收益最大的类作为主类,

实现方式三、当至少一个类中收益最大的类与收益第二大的类的收益的差值不大于预设差值阈值时,基于垂直方向的类,从收益最大的类与收益第二大的类中选取主类,主类的线段与垂直方向的类的线段符合垂直条件。

当收益最大的类以及收益第二大的类的收益的差值小于预设差值阈值时,表明这两个类的收益接近,为了从这两个类中选取中最佳的主类,可以从至少一个类中选择垂直方向的类,从两个类中选择线段与垂直方向的类的线段符合垂直条件的类,作为选取的主类。

示例性地,可以计算收益最大的类的线段的平均角度、收益第二大的类的线段的平均角度以及垂直方向的类的线段的平均角度,再计算收益最大的类的线段的平均角度与垂直方向的类的线段的平均角度之间的夹角,收益第二大的类的线段的平均角度与垂直方向的类的线段的平均角度之间的夹角,从这两个夹角中选取更接近90°的夹角,将该夹角对应的类作为选取的主类。

综上所述,示例性地,参见图9,在图8中的类的基础上,对图8中的类进行筛选后,选取的主类如图9所示,线段ij、线段kl、线段ab和线段cd组成的类为选取的主类。

步骤四、根据主类中线段的角度,获取物体倾斜的角度。

获取物体倾斜的角度的过程可以包括以下三种实现方式:

实现方式一、计算主类中线段的角度的平均值,作为物体倾斜的角度。

示例性地,参见图9,选取主类后,可以根据线段ij、线段kl、线段ab和线段cd这四条线段的角度,计算线段ij、线段kl、线段ab和线段cd的角度的平均值,将该平均值作为物体倾斜的角度。

实现方式二、计算主类中线段的角度的加权平均值,作为物体倾斜的角度,加权平均值中线段的权重根据线段长短的程度和/或线段角度的离散度确定。

其中,获取角度的权重的过程与上述获取长度的权重的过程同理,可以获取每个角度的权重,对多个角度按照对应的权重进行加权平均,将加权平均值作为物体倾斜的角度。

实现方式三、将主类中最长的线段的角度作为物体倾斜的角度。

示例性地,参见图9,选取主类后,可以根据线段ij、线段kl、线段ab和线段cd这四条线段的角度,选取最长的线段kl,将线段kl的角度作为物体倾斜的角度。

306、云台根据该物体倾斜的角度,获取云台倾斜的角度。

由于物体倾斜的角度为图像坐标系中的角度,而云台倾斜的角度为世界坐标系中的角度,云台可以将物体倾斜的角度从图像坐标系转换为世界坐标系,得到云台倾斜的角度。

在一种可能的实现方式中,可以预先建立图像坐标系和世界坐标系之间的预设对应关系,当得到物体倾斜的角度后,可以根据物体倾斜的角度以及图像坐标系与世界坐标系之间的预设对应关系,获取该物体倾斜的角度对应的云台倾斜的角度,从而将物体倾斜的角度从图像坐标系转换为世界坐标系。其中,图像坐标系为基于拍摄的图像建立的坐标系,图像坐标系可以采用预设目标方向为x轴的方向。该世界坐标系也可称为云台坐标系、空间坐标系等,该世界坐标系用于指示云台在空间所处的位置。

在一种可能的设计中,该预设对应关系可以根据摄像头和云台之间的姿态的相对关系确定,可以根据云台和摄像头的空间位置关系确定。

例如,若摄像头水平架设在云台上,摄像头的姿态和云台的姿态保持水平,摄像头倾斜的角度与云台倾斜的角度的数值一致,则预设对应关系可以为角度的数值大小不变、角度的方向相反的关系,则可以对物体倾斜的角度的方向取负,得到云台倾斜的角度,例如物体倾斜的角度为+5°,则云台倾斜的角度为-5°。当然,该预设对应关系也可以为相等的关系,即云台倾斜的角度和物体倾斜的角度相等,则可以直接将物体倾斜的角度作为云台倾斜的角度。

又如,若摄像头垂直架设在云台上,摄像头的姿态和云台的姿态保持垂直,摄像头倾斜的角度与云台倾斜的角度互余,则预设对应关系可以为角度的数值大小不变、和值为90度的关系,则可以获取物体倾斜的角度的余角,将该余角作为云台倾斜的角度。例如物体倾斜的角度为+15°,则云台倾斜的角度为+75°。

307、云台根据云台倾斜的角度,矫正云台的姿态。

云台可以根据该云台倾斜的角度,控制云台在横滚轴方向上进行姿态调整,从而矫正云台的姿态,矫正姿态后,云台在横滚轴方向上的姿态可以恢复到倾斜前的姿态,即云台的姿态恢复正常,那么摄像头的姿态也会恢复正常,因此摄像头拍摄的图像中物体的方向也会恢复到预设目标方向,提高成像质量。

针对矫正姿态的具体过程,云台可以根据云台倾斜的角度,获取与云台倾斜的角度数值相等、方向相反的角度,作为修正角度,按照修正角度在横滚轴方向上进行旋转,从而矫正自身的姿态。其中,云台可以配置有电机控制结构,将修正角度发送给电机控制结构,由电机控制结构带动云台按照该修正角度进行旋转。示例性地,假设云台倾斜的角度为+2°,则修正角度为-2°,可以控制云台在横滚轴方向上负方向旋转2°。

本实施例提供的方法,通过提取图像中用于标识物体边缘的至少一条线段,获取图像中物体倾斜的角度,从而获取云台倾斜的角度,进而矫正云台的姿态,能够矫正云台当产生的姿态倾斜,从而矫正摄像头产生的倾斜,进而避免摄像头拍摄的图像倾斜,提高了成像质量。

图10是本发明实施例提供的一种云台控制装置的结构示意图。参见图10该装置包括:提取模块1001、获取模块1002和矫正模块1003。

提取模块1001,用于根据云台上架设的摄像头当前拍摄的图像,提取该图像中用于标识物体边缘的至少一条线段;

获取模块1002,用于根据该至少一条线段,获取该物体倾斜的角度;

该获取模块1002,还用于根据该物体倾斜的角度,获取该云台倾斜的角度;

矫正模块1003,用于根据该云台倾斜的角度,矫正该云台的姿态。

本实施例提供的装置,通过提取图像中用于标识物体边缘的至少一条线段,获取图像中物体倾斜的角度,从而获取云台倾斜的角度,进而矫正云台的姿态,能够矫正云台当产生的姿态倾斜,从而矫正摄像头产生的倾斜,进而避免摄像头拍摄的图像倾斜,提高了成像质量。

在一种可能的设计中,该获取模块1002,包括:

聚类子模块,用于对该至少一条线段按照角度进行聚类,得到至少一个类;

获取子模块,用于对于该至少一个类中的每个类,根据该每个类中线段的长度,获取该每个类的收益,该收益与对应类中线段的长度正相关;

选取子模块,用于根据该每个类的收益,从该至少一个类中选取主类,该主类为符合预设条件的类。

该获取子模块,还用于根据该主类中线段的角度,获取该物体倾斜的角度。

在一种可能的设计中,该获取子模块,用于获取该每个类中每条线段的长度的和值,作为该每个类的收益;或,获取该每个类中每条线段的长度的加权和值,作为该每个类的收益,其中每条线段的权重根据线段长短的程度和/或线段角度的离散度确定;或,根据该每个类中线段的角度,获取该每个类的角度收益,该角度收益与类中线段的角度的离散度正相关;根据该每个类中线段的长度,获取该每个类的长度收益,该长度收益与对应类中线段的长度正相关;对该每个类的角度收益和长度收益进行拟合,将拟合的结果作为该每个类的收益。

在一种可能的设计中,该选取子模块,用于从该至少一个类中选取收益最大的类,作为主类;或,当该至少一个类中收益最大的类与收益第二大的类的收益之间的差值大于预设差值阈值时,将该收益最大的类作为主类;或,当该至少一个类中收益最大的类与收益第二大的类的收益的差值不大于预设差值阈值时,基于垂直方向的类,从该收益最大的类与该收益第二大的类中选取主类,该主类的线段与该垂直方向的类的线段符合垂直条件。

在一种可能的设计中,该获取子模块,用于:计算该主类中线段的角度的

平均值,作为该物体倾斜的角度;或,

计算该主类中线段的角度的加权平均值,作为该物体倾斜的角度,该加权平均值中线段的权重根据线段长短的程度和/或线段角度的离散度确定;或,

将该主类中最长的线段的角度作为该物体倾斜的角度。

在一种可能的设计中,该获取模块1002,还用于将该物体倾斜的角度从图像坐标系转换为世界坐标系,得到该云台倾斜的角度。

在一种可能的设计中,该装置还包括:

删除模块,用于删除长度小于预设长度和/或斜率不属于预设斜率范围的线段;和/或,

合并模块,用于将位于同一直线上且距离属于预设距离范围的相邻线段合并为一条线段。

在一种可能的设计中,该装置还包括:

确定模块,用于当接收到的控制指令指示该云台保持姿态不变时,确定该云台当前处于稳定状态;或,当该云台的移动速度小于预设速度时,确定该云台当前处于稳定状态。

需要说明的是:上述实施例提供的云台控制装置在控制云台时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将云台的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的云台控制装置与云台控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图11是本发明实施例提供的一种云台的结构示意图,该云台1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1101和一个或一个以上的存储器1102,其中,该存储器1102中存储有至少一条指令,该至少一条指令由该处理器1101加载并执行以实现上述各个方法实施例提供的方法。

另外,云台还可以包括电机结构,处理器1101可以向电机结构发送指令,电机结构可以基于处理器1101的指令,驱动云台进行姿态调整,从而矫正云台的姿态。当然,该云台还可以具有有线或无线网络接口以及输入输出接口等部件,以便进行输入输出,该云台还可以包括其他用于实现设备功能的部件,在此不做赘述。

图12是本发明实施例提供的一种移动设备的结构示意图,该移动设备1200可因配置或性能不同而产生比较大的差异,该移动设备1200可以被提供为无人机、车载终端、影视剧摄像机等,该移动设备包括云台1201和摄像头1202,该云台1201用于实现上述各个方法实施例提供的方法。

另外,该移动设备1200还可以包括一个或一个以上处理器和一个或一个以上的存储器,该移动设备1200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,当然该移动设备1200还可以包括其他用于实现设备功能的部件,例如当移动设备1200被提供为无人机时,可以具有飞行部件、能源部件、gps(globalpositioningsystem,全球定位系统)等,该飞行部件可以为螺旋桨、脚架等,该能源部件可以为电池。另外,移动设备1200还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中的云台控制方法。例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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