图像处理方法和设备、摄像装置以及无人机与流程

文档序号:19942935发布日期:2020-02-14 23:25阅读:179来源:国知局
图像处理方法和设备、摄像装置以及无人机与流程

版权申明

本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。

本申请涉及图像处理领域,并且更具体地,涉及一种图像处理方法、图像处理设备、计算机可读存储介质、摄像装置和无人机。



背景技术:

随着现代科技的发展,无人机被应用在越来越多的场景中。要达到自动化操作,无人机需要具备一定的定位能力和环境感知能力。

目前无人机可以采用摄像头进行定位和环境感知,例如,可以对摄像头拍摄的图片进行分析来进行定位和感知。

无人机的计算平台能力有限,如何在利用摄像头进行定位和环境感知方面,减少计算量是一项亟待解决的问题。



技术实现要素:

本申请实施例提供一种图像处理方法、图像处理设备、计算机可读存储介质、摄像装置和无人机,可以在利用摄像头进行定位和环境感知方面,减少计算量。

第一方面,提供了一种图像处理方法,包括:获取拍摄第一图像帧和第二图像帧时摄像头的相对距离;基于所述相对距离,确定多个候选深度信息;基于拍摄所述第一图像帧和所述第二图像帧时所述摄像头的位姿关系,从所述多个候选深度信息中,为所述第一图像帧中的像素点选择深度信息。

第二方面,提供了一种图像处理设备,包括:获取单元,用于获取拍摄第一图像帧和第二图像帧时摄像头的相对距离;确定单元,用于基于所述相对距离,确定多个候选深度信息;选择单元,用于基于拍摄所述第一图像帧和所述第二图像帧时所述摄像头的位姿关系,从所述多个候选深度信息中,为所述第一图像帧中的像素点选择深度信息。

第三方面,提供了一种图像处理设备,包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的指令,执行权利要求第一方面所述的方法。

第四方面,提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行第一方面所述的方法。

第五方面,提供了一种摄像装置,包括摄像头和处理器;所述摄像头用于获取图像帧,所述处理器用于基于所述摄像头获取的图像帧,执行以下操作:获取拍摄第一图像帧和第二图像帧时所述摄像头的相对距离;基于所述相对距离,确定多个候选深度信息;基于拍摄所述第一图像帧和所述第二图像帧时所述摄像头的位姿关系,从所述多个候选深度信息中,为所述第一图像帧中的像素点选择深度信息。

第六方面,提供了一种无人机,包括动力系统、传感系统和处理器;其中,所述动力系统用于为所述无人机提供动力;所述传感系统包括摄像头,用于拍摄图像帧;所述处理器用于基于所述摄像头拍摄的图像帧计算深度信息,以控制所述无人机的飞行,其中,所述处理器具体用于:获取拍摄第一图像帧和第二图像帧时所述摄像头的相对距离;基于所述相对距离,确定多个候选深度信息;基于拍摄所述第一图像帧和所述第二图像帧时所述摄像头的位姿关系,从所述多个候选深度信息中,为所述第一图像帧中的像素点选择深度信息。

因此,在本申请实施例中,基于拍摄第一图像帧和第二图像帧时摄像头的相对距离,确定多个候选深度信息,并基于拍摄所述第一图像帧和所述第二图像帧时所述摄像头的位姿关系,从所述多个候选深度信息中,为所述第一图像帧中的像素点选择深度信息,由于采用的是第一图像帧和第二图像帧的位姿关系来计算深度信息,可以简化深度信息的计算,避免采用集束调整(bundleadjustment,ba)算法或时定位与地图构建(simultaneouslocalizationandmapping,slam)进行定位或环境感知所带来的资源耗费较大的问题。

附图说明

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

图1是根据本申请实施例的无人飞行系统的示意性图。

图2是根据本申请实施例的图像处理方法的示意性流程图。

图3是根据本申请实施例的候选深度信息对应的虚拟平面的示意性图。

图4是根据本申请实施例的插值运算的示意性图。

图5是根据本申请实施例的深度信息验证方法的示意性图。

图6是根据本申请实施例的图像处理设备的示意性框图。

图7是根据本申请实施例的图像处理设备的示意性框图。

图8是根据本申请实施例的摄像装置的示意性框图。

图9是根据本申请实施例的无人机的示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例中当一组件与另一组件“固定连接”或“连接”,或者,一组件“固定于”另一组件时,它可以直接在另一组件上,或者也可以存在居中的组件。

应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本公开实施例,而非限制本公开实施例的范围。

本发明实施例可以应用于各种类型的可移动设备。本发明实施例中的可移动设备可以在任何合适的环境下移动,例如,空气中(例如,定翼飞机、旋翼飞机,或既没有定翼也没有旋翼的飞机)、水中(例如,轮船或潜水艇)、陆地上(例如,汽车或火车)、太空(例如,太空飞机、卫星或探测器),以及以上各种环境的任何组合。可移动设备可以是飞机,例如无人机(unmannedaerialvehicle,简称为“uav”)。在一些实施例中,可移动设备可以承载生命体,例如,人或动物。

以下将结合图1对包含无人机的无人飞行系统进行说明。本实施例以旋翼飞行器为例进行说明。

无人飞行系统100可以包括uav110、载体120、显示设备130和遥控装置140。其中,uav110可以包括动力系统150、飞行控制系统160和机架170。uav110可以与遥控装置140和显示设备130进行无线通信。

机架170可以包括机身和脚架(也称为起落架)。机身可以包括中心架以及与中心架连接的一个或多个机臂,一个或多个机臂呈辐射状从中心架延伸出。脚架与机身连接,用于在uav110着陆时起支撑作用。

动力系统150可以包括电子调速器(简称为电调)151、一个或多个螺旋桨153以及与一个或多个螺旋桨153相对应的一个或多个电机152,其中电机152连接在电子调速器151与螺旋桨153之间,电机152和螺旋桨153设置在对应的机臂上;电子调速器151用于接收飞行控制器160产生的驱动信号,并根据驱动信号提供驱动电流给电机152,以控制电机152的转速。电机152用于驱动螺旋桨旋转,从而为uav110的飞行提供动力,该动力使得uav110能够实现一个或多个自由度的运动。应理解,电机152可以是直流电机,也可以交流电机。另外,电机152可以是无刷电机,也可以有刷电机。

飞行控制系统160可以包括飞行控制器161和传感系统162。传感系统162用于测量uav的姿态信息。传感系统162例如可以包括陀螺仪、电子罗盘、imu(惯性测量单元,inertialmeasurementunit)、视觉传感器(例如,单目摄像头或双/多目摄像头等)、gps(全球定位系统,globalpositioningsystem)、气压计和视觉惯导里程计等传感器中的至少一种。飞行控制器161用于控制uav110的飞行,例如,可以根据传感系统162测量的姿态信息控制uav110的飞行。

载体120可以用来承载负载180。例如,当载体120为云台设备时,负载180可以为拍摄设备(例如,相机、摄像机等),本申请的实施例并不限于此,例如,载体也可以是用于承载武器或其它负载的承载设备。

显示设备130位于无人飞行系统100的地面端,可以通过无线方式与uav110进行通信,并且可以用于显示uav110的姿态信息。另外,当负载123为拍摄设备时,还可以在显示设备130上显示拍摄设备拍摄的图像。应理解,显示设备130可以是独立的设备,也可以设置在遥控装置140中。

遥控装置140位于无人飞行系统100的地面端,可以通过无线方式与uav110进行通信,用于对uav110进行远程操纵。遥控装置例如可以是遥控器或者安装有控制uav的app(应用程序,application)的遥控装置,例如,智能手机、平板电脑等。本申请的实施例中,通过遥控装置接收用户的输入,可以指通过遥控器上的拔轮、按钮、按键、摇杆等输入装置或者遥控装置上的用户界面(ui)对uav进行操控。

除了上述提到的可移动设备,本发明实施例可以应用于其它具有摄像头的载具,例如虚拟现实(virtualreality,vr)/增强现实(augmentedreality,ar)眼镜等设备。

图2是根据本申请实施例的图像处理方法200的示意性流程图。

可选地,方法200中的第一图像帧和第二图像帧可以是由单目摄像头在不同位置拍摄的。

其中,利用拍摄图像帧时单目摄像头之间的相对距离等位姿关系来进行图像帧的深度图的计算,能够在提高定位和环境感知的精度的同时,可以降低资源耗费以及节约成本。

这是由于如果无人机使用结构光摄像头进行定位和环境感知,这种摄像头能够直接获取到图像帧的像素点的深度信息,但是这种摄像头在强光环境下表现很差,容易受到干扰,价格也较为昂贵。另外,如果使用双/多目视觉模块进行定位和环境感知,由间隔一定距离的两个以上摄像头组成,靠着两个摄像头同一时刻拍摄的照片的差异,来计算三维深度信息,但是双/多目摄像头之间的旋转和位置,直接影响了其测量有效的范围和精度,故双/多目视觉模块对于结构要求比较高。因此,在无人机越来越小型化和便携化的今天,结构光摄像头在户外强光环境下易受到干扰,而双/多目视觉模块对结构要求较高,且需要一定的间隔,还需要无遮挡,并不是所有无人机都能够适用。

而非结构光的单目摄像头同时兼有重量轻、体积小、价格低廉和功耗低的特点,如果使用单目摄像头拍摄的图像做即时定位与地图构建(simultaneouslocalizationandmapping,slam),则造成资源耗费比较大,在无人机上难以实现。

因此,在方法200中,可以利用单目摄像头拍摄的图像帧之间的位姿关系来进行图像帧的深度图的计算,可以在提高定位和环境感知的精度的同时,降低资源耗费以及节约成本。

当然,方法200中的该第一图像帧和该第二图像帧也可以是双目或多目摄像头在相同时刻或不同时刻拍摄的,本申请实施例对此不作具体限定。

可选地,本申请实施例提到的位姿关系可以由摄像头拍摄图像帧时的位置关系(可以称为平移变换和位置变换等)和/或旋转关系(也可以称为旋转变换等)来表征。

其中,上述提到的位置关系可以通过相对距离来表征,其中可以通过以下公式1来计算相对距离||t||2:

其中,t=(tx,ty,tz)t,tx、ty和tz可以分别表示三维的三个方向的移动距离。

以及,上述提到的旋转关系可以通过旋转角度来表征,可以结合四元数通过以下公式1来计算旋转角度θ:

其中,q=(q0,q1,q2,q3),其中,q0是四元数中实部对应的数值,q1、q2和q3分别表示四元数中虚部对应的数值。

应理解,式1和式2所表现的位姿关系仅仅是一种可选的实现方式,本申请实施例的位姿关系还可以存在其他的实现方式,例如,旋转角度可以通过欧拉角来计算,本申请实施例对此不作具体限定。

可选地,在本申请实施例中,本申请实施例提到的位姿关系可以是由摄像头的承载设备上的视觉惯性里程计(visual–inertialodometry,vio)的输出数据得到的。其中,vio算法采用了多目融合方案解算拍摄不同图像帧时的位姿关系,其结果相对于对摄像头(例如,单目摄像头)拍摄的图像帧进行集束调整算法(bundleadjustment,ba)计算位姿关系更加稳定可靠,鲁棒性更好。

在110中,图像处理设备获取拍摄第一图像帧和第二图像帧时摄像头的相对距离。

可选地,在本申请实施例中,在摄像头拍摄到第一图像帧之后,可以从已拍摄的图像帧中获取第二图像帧,用于后续结合第二图像帧,来得到第一图像帧中的像素的深度信息,以生成第一图像帧的深度信息。

具体地,在对摄像头(例如,单目摄像头)拍摄的第一图像帧进行深度计算时,需要选择第二图像帧,此时可以从已拍摄的图像帧中进行筛选,作为计算深度信息的图像序列,如果将所有已拍摄的图像帧都用来计算第一图像帧的深度信息则一是会导致计算量很大,二是错误的可能性很高,反而会把正确的结果带偏,这是由于第一图像帧与选择的第二图像帧之间的运动合适,才能计算出比较好的结果。

从而,图像处理设备可以基于拍摄第一图像帧和其他已拍摄的图像帧时摄像头的位姿关系,从已拍摄的图像帧中选择第二图像帧。

可选地,在本申请实施例中,拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系满足以下条件:

旋转角度变化小于或等于第一阈值;和/或,

位置变化大于或等于第二阈值。

具体地,针对拍摄第一图像帧和第二图像帧时摄像头的位姿关系可以满足以下式3和式4表达的条件:

其中,tth为距离阈值以及θth为角度阈值,这里表达的是,拍摄第一图像帧和第二图像帧时摄像头之间的位移大于一定值以及旋转角度小于一定值。

应理解,本申请实施例提到的变化量小于或等于特定值,或某值的绝对值小于或等于特定值,可以是指该变化量或某值的二范数小于或等于特定值。

应理解,除了按照式3和式4表征的条件来选择第二图像帧之外,还可以利用其他的实现方式来选择图像帧。

例如,存在一个参考图像帧,在拍摄第一图像帧和该参考图像帧时摄像头之间的位移大于一定值,以及旋转角度小于一定值,则可以基于该参考图像帧选择第二图像帧,其中,该第二图像帧与参考图像帧之间满足以下条件:在拍摄第二图像帧和该参考图像帧时摄像头之间的位移大于一定值,以及旋转角度小于一定值。

其中,此处提到的已拍摄的多个图像帧可以是与第一图像帧采用同一单目摄像头在不同的时间拍摄的。

例如,对于单目摄像头的传感器(sensor)设定为20hz固定曝光,所以每50ms将会得到一个图像帧,可以将该图像帧称为原始图像序列,vio将会计算拍摄该图像帧与其他图像帧(例如,前一图像帧或某一特定的图像帧)时单目摄像头的位姿关系,从而可以基于计算的位姿关系,来选择用于计算当前图像帧的深度信息的图像帧。

具体地,图像处理设备在获取到单目摄像头拍摄的一个新的图像帧(也即上述第一图像帧)之后,可以根据vio输出的数据获取该图像帧的位姿(其中,该位姿是该图像帧相对于某一图像帧的位姿),向之前已经拍摄的图像帧查找符合条件(例如,满足以上式3和式4表现的条件)的图像帧,即上述提到的第二图像帧,其中,可以将距离该新的图像帧时间上最近的满足条件的图像帧选择作为第二图像帧,或者,可以从多个符合条件的图像帧中随机选择一个图像帧作为第二图像帧。

可选地,在本申请实施例中,摄像头拍摄该第一图像帧和第二图像帧时的曝光参数可以是相同的,例如,曝光时间和曝光增益可以是相同的。

在120中,基于拍摄第一图像帧和第二图像帧时摄像头的相对距离,图像处理设备确定多个候选深度信息。

可选地,在本申请实施例中,该多个(n个)候选深度信息中第i个候选深度信息zi通过以下式5得到:

其中,i=0,1,2,...,n-1,f为该摄像头的焦距,l为该相对距离。

可选地,拍摄第一图像帧和第二图像帧时,摄像头的焦距是一致的。

应理解,在以上式5中,在i=0时,分母为0,对应的是z0=∞,这里不是表示可以除0。

其中,式5可以做以下理解,也即假设如图3所示,可以存在n个虚拟平面,每个虚拟平面可以对应一个深度信息。

可选地,在本申请实施例中,候选深度信息的数量(也可以理解为图3所示的虚拟平面的数量)可以是可调的,具体可以与所需的深度图的精度有关,如果需要较高精度的深度图,则可以将该数量设的大些,也即上述n的取值较大,如果需要较低精度的深度图,则可以将该数量设的小些,也即上述n的取值较小。

其中,在拍摄第一图像帧和第二图像帧的摄像头为单目摄像头时,可以将拍摄第一图像帧和第二图像帧时单目摄像头的相对距离称为单目摄像头的虚拟基线(baseline)。

在130中,基于拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,从该多个候选深度信息中,图像处理设备为该第一图像帧中的像素点选择深度信息。

可选地,在本申请实施例中,图像处理设备在为第一图像帧的各个像素点选择深度信息之后,可以生成和/或输出该第一图像帧的深度图,以用于无人机的避障和/或环境感知等。

可选地,图像处理设备可以基于拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,以及分别结合该多个候选深度信息,将该第一图像帧中的像素点向该第二图像帧进行投影;基于该第一图像帧中的第一像素点(可以为第一图像帧中的任一像素点)的像素信息,以及分别结合不同候选深度信息进行投影时相应位置的像素点的像素信息,从该多个候选深度信息中,为该第一像素点选择该深度信息。

具体地,可以采用用于表征拍摄第一图像帧和第二图像帧时摄像头的位姿关系构建hik,构建hik的方式可以如下式6所示:

其中,在式6中,r=[ri.1,ri.2,ri.3]表示拍摄第一图像帧和第二图像帧时摄像头在三维空间的三个方向的旋转向量,t=[ti,1,ti,2,ti,3]表示拍摄第一图像帧和第二图像帧时摄像头在三维空间的三个方向的平移向量,wk=1/zi;k表示相机内部参数矩阵。

此时,图像处理设备可以利用hik将第一图像帧的像素向第二图像帧进行投影,第一图像帧中的每个像素点可以在第二图像帧中对应一个像素位置,在计算第一图像帧的一个像素点的深度信息时,可以利用该像素点的像素信息与利用候选深度信息zi进行投影时相应位置的像素点的像素信息的差异,在计算了多个候选深度信息对应的差异之后,并从该多个候选深度信息中,为该第一像素点选择深度信息。

可选地,上述提到的像素信息可以是像素值、灰度信息(此时图像帧可以为灰度图,其中,该灰度信息具体可以为亮度值)或色彩信息(此时图像帧可以为彩色图)等。

可选地,在本申请实施例中,图像处理设备可以使用平均绝对差算法(meanabsolutedifferences,mad)、误差平方和算法(sumofsquareddifferences,ssd)、绝对误差和算法(sumofabsolutedifference,sad)、归一化积相关算法(normalizedcrosscorrelation,ncc)、序贯相似性检测算法(sequentialsimiliaritydetectionalgorithm,ssda)或者绝对变换误差和算法(sumofabsolutetransformeddifference,satd),来计算各个候选深度信息对应的匹配分数值,找出每个像素点最匹配的hi,则用于计算该hi的zi即为该像素点的深度信息。

可选地,在本申请实施例中,图像处理设备可以基于该第一像素点的像素信息分别与利用不同候选深度信息进行投影时相应位置的像素点的像素信息的差异,为该第一像素点构建第一代价函数;基于该多个候选深度信息分别对应的该第一代价函数,从该多个候选深度信息中,为该第一像素点选择该深度信息。

例如,对于ssd而语言,可以利用以下式7计算第一代价函数:

其中,k=0,1,2,…,n-1,pu、pv表示图像帧上某一点p的横坐标u和纵坐标v,f(i,j)表示第一图像帧中第一像素点的像素信息对应的值,以及g(i,j)表示第二图像帧中相应位置的像素点的像素信息对应的值。

可选地,在本申请实施例中,基于该多个候选深度信息分别对应的该第一代价函数以及基于第二代价函数,从该多个候选深度信息中,为该第一像素点选择该深度信息,其中,该第二代价函数是为该第一图像帧中的第二像素点构建的代价函数;其中,在该第二像素点为该摄像头的固定遮挡区域对应的像素点时,该第二代价函数的取值大于或等于预设值。

具体地,在无人机的应用场景中,对于机臂等固定遮挡区域,图像处理设备可以预先获知其所在区域(机臂,浆叶会出现的区域,由于飞行器结构固定,所以会出现在图像帧的固定区域)在图像帧中对应像素点,可以将该像素点对应的代价置为一个较大的值(例如,cost[pu][pv][k]=cmax,k=0,1,2,...,n-1),让其无法影响周围的区域的像素点的深度信息的计算。

可选地,在本申请实施例中,可以采用半全局块匹配(semi-globalblockmatching,sgbm)算法计算像素点的深度信息。

例如,可以利用以下式8进行计算:

其中,p-r指在指向当前像素点p的某个方向上,像素点p在该方向的相邻像素点。

lr(p,d)表示沿着当前方向,当当前像素点p的视差(与深度信息呈反比)取值为d时,其最小代价值。

其中,这个最小值可以从4种可能的候选值中选取的最小值:

第1种可能是当前像素点与前一个像素点视差值相等时,其最小的代价值。

第2和3种可能是当前像素点与前一个像素视差值差1(多1或少1)时,其最小的代价值+惩罚系数p1。

第4种可能是当前像素点与前一个像素视差值的差大于1时,其最小的代价值+惩罚系数p2。

在分别计算了每个方向的代价值时,可以将该多个方向,例如8个方向的代价值累计值,选取累加代价值最小的深度信息作为该像素的深度信息,例如,可以通过以下公式9进行累加:

可选地,在本申请实施例中,图像处理设备可以将该第一图像帧中天空对应的像素点的深度信息设置为无穷远,或者将该天空对应的像素点设置为无效点。

可选地,在本申请实施例中,为了保证第一图像帧的深度信息的准确,可以对第一图像帧中至少部分像素点的深度信息进行验证。

具体地,图像处理设备可以获取该第二图像帧的像素点的深度信息;利用该第二图像帧的像素点的深度信息,对该第一图像帧的像素点的深度信息进行验证。

其中,以上介绍了以第二图像帧为参照帧,来计算第一图像帧的各个像素点的深度信息,此处可以以第一图像帧为参照帧,来计算第二图像帧的各个像素点的深度信息,具体的实现方式可以参照上文的描述,为了简洁,在此不再赘述。

因此,利用第二图像帧的深度信息,对第一图像帧的深度信息进行验证,可以保证深度信息的准确性。

在本申请实施例中,受限制于机载计算资源有限,可以采用第一图像帧和第二图像帧两个图像帧进行深度信息的计算,避免采用较多的图像帧进行深度信息的计算,这是由于特别对于单目摄像头来说,图像帧之间间隔的时间越长不确定性越大,但是为了进一步提升采用两个图像帧进行深度计算的准确性,可以对深度信息进行验证。

可选地,在本申请实施例中,图像处理设备利用拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,以及该第二图像帧的像素点的深度信息,对该第一图像帧的像素点的深度信息进行验证。

可选地,本申请实施例的深度信息的验证可以排除第一图像帧中的动态物体对应的像素点。

具体地,可以将第一图像帧上某一像素点投影变换到第二图像帧上,其中,式10和11示出了投影变换的数学关系:

其中,p是第一图像帧的像素坐标系上的一个像素点,p'是投影变换后的点,也即第二图像帧的像素坐标系上与p对应的点,pc为相机坐标系的与p对应的三维(3d)点(也可以称为3d位置)。

d为p点对应的深度信息,r为第二图像帧相对于第一图像帧的旋转关系矩阵,t为第二图像帧相对于第一图像帧的位移关系矩阵。[x,y,z]t为相机平面物理坐标系上的与p对应的3d点,降维后可以得到像素坐标系的点p'。

其中,相机模型可以表征为以下式12:

其中,[u,v,1]t表示像素坐标中的2d点;[xw,yw,zw]t表示世界坐标系中的3d点;矩阵k表示相机校正矩阵(cameracalibrationmatrix),即标识每个相机的内参(intrinsicparameters);r表示旋转矩阵,t表示位移矩阵r和t为相机的外参extrinsicmatrix,表达的是三维空间中,世界坐标系到相机坐标系的旋转与位移变换。

可选地,对于有限投影相机(finiteprojectivecamera)而言,矩阵k可以表示5个内参,即k可以如下式13所示:

其中,αx=fmx,αy=fmy,f为焦距(focallength),mx和my分别为x,y方向上,单位距离的像素数(scalefactors),γ为x,y轴之间的畸变参数(skewparameters),μ0,v0为光心位置(principalpoint)。

在理想情况下,即图像帧的深度信息以及两个图像帧间的位姿关系均正确,且物体静止的情况下,式10和11才会成立,即第一图像帧上的像素点,才能通过公式10和11,对应在第二图像帧上的位置。

式10和11考虑了两个图像帧拍摄时,摄像头的相对位置和旋转关系,如果物体自身发生了移动,那式10和11就不成立。动态物体上的特征由于匹配错误,会导致计算的深度错误,但由于第一图像帧和第二图像帧深度图错的一样的概率很低,所以可以通过反证法,假设第一图像帧和第二图像帧的深度信息和位姿关系均正确,并基于式10和11,则可以对第一图像帧的深度信息进行验证。

具体地,图像处理设备可以根据该第一图像帧中的第三像素点(可以为第一图像帧中的像素点)的像素坐标以及该第三像素点的深度信息,确定该第一像素点的3d位置;根据该第三像素点的3d位置,以及拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,得到该第三像素点在该第二图像帧对应的第四像素点;根据该第四像素位置的深度信息,以及该第四像素点的像素坐标,确定该第四像素位置的3d位置;根据该第四像素点的3d位置,以及拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,得到该第四像素点在该第一图像帧对应的第五像素点;比较该第三像素点和该第五像素点的差异;根据比较结果,确定该第三像素点的深度信息的准确性。

其中,第四像素点的像素坐标不是整像素坐标时,可以利用周围像素进行插值运算的方式得到该第四像素点的深度信息。

例如,如图4所示,对于像素点(x,y)的深度信息可以通过对像素点(x1,y1),(x1,y2),(x2,y1)和(x2,y2)的深度信息进行插值运算得到。

可选地,在本申请实施例中,如果图像帧为灰度图,则比较第三像素点和第五像素点的灰度信息,具体地,可以为亮度值,在该第三像素点的亮度值(intensity)与该第五像素点的亮度值对应的差值的绝对值大于或等于第三阈值时,确定该第三像素点的深度信息不准确。

其中,在该第三像素点的深度信息不准确时,放弃得到的该第三像素点的深度信息,也可以将该第三像素点置为无效点。

可选地,在本申请实施例中,在第一图像帧的深度信息不准确的像素点的数量超过一定数量时,也可以放弃该第一图像帧的深度信息。

为了更加清楚地理解本申请提到的验证方法。以下将结合图5进行详细说明。

在图5中的方法300中,假设需要对图像帧k1的深度信息进行验证,其中,k1的深度信息可以是以k2为参照进行获取的,k2的深度信息也可以是以图像帧k1为参照进行获取的。具体的验证的流程可以如下所示。

301、取图像帧k1的像素坐标系上任意一像素点p,在深度图上获取p对应的深度d。

302、根据相机内参k以及该p的深度d,得到像素点p在k1所在的相机坐标系下对应的3d位置为d·k-1·p。

303、通过拍摄图像帧k1和k2时相机的位姿关系,将p对应的3d位置转到图像帧k2所在的相机坐标系下,得到r(d·k-1p)+t。

304,结合相机内参,计算得到上述3d点对应到图像帧k2的相机平面物理坐标系的点[x,y,z]t=k(r(d·k-1·p)+t)。

305、计算出p点投影变换到图像帧k2的像素坐标系的点p1。

306、获取像素点p1的深度信息。

此时,p1的像素坐标很有可能是小数,但是对应的像素坐标系上并无小数,只有整数,这里获取点的深度信息的时候,可以采用双线性差值(bilinearinterpolation),取亚像素。通过双线性插值,计算出p1点在图像帧k2上的深度信息d1。

307,再通过类似上述301-305的操作,求出图像帧k2上p1在k1对应的像素点p2。

308、根据p2与p的亮度值,判断p的深度信息是否准确。

理论上,采用p推导出p1,再用p1推导出p2,p和p2应当是一个像素点,但如果二者差异过大,则认为此点不相符。例如,可以采用式14所示的判断方式。

||p-p2||>eth式14

其中,eth为阈值。

此处采用的像素点的亮度值,在其它实施方式中,图像帧为彩色图时,也可以使用色彩信息进行比较。

可选地,在本申请实施例中,针对要使用的深度图(一般是最新的图像算出来的深度图,在本发明中是图像帧k1帧的深度图,虽然图像帧k2也算了深度图,可以仅用于对图像帧k1的深度信息进行验证),其中的每个像素点可用方法300中的方法进行验证,如果某一像素点满足式17表现的条件,就认为此像素点的深度信息计算有误,此处像素点可能是动态物体,可以排除在外,再深度图上将其深度置为无穷远(一般给一个很大的值,比如10000m)或是置为无效点。由此,对获取的深度信息进行验证,可以避免由于深度信息不准确,所造成的定位和环境感知不精确地的问题。

因此,在本申请实施例中,基于拍摄第一图像帧和第二图像帧时摄像头的相对距离,确定多个候选深度信息,并基于拍摄所述第一图像帧和所述第二图像帧时所述摄像头的位姿关系,从所述多个候选深度信息中,为所述第一图像帧中的像素点选择深度信息,由于采用的是第一图像帧和第二图像帧的位姿关系来计算深度信息,可以简化深度信息的计算,避免采用ba算法或slam进行定位或环境感知所带来的资源耗费较大的问题。

图6是根据本申请实施例的图像处理设备400的示意性框图。如图6所示,该图像处理设备400包括:

获取单元410,用于获取拍摄第一图像帧和第二图像帧时摄像头的相对距离;

确定单元420,用于基于该相对距离,确定多个候选深度信息;

选择单元430,用于基于拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,从该多个候选深度信息中,为该第一图像帧中的像素点选择深度信息。

可选地,在本申请实施例中,拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系和相对距离是基于以下数据得到的:该摄像头的承载设备上的视觉惯导里程计的输出数据。

可选地,在本申请实施例中,该获取单元410进一步用于:

从拍摄该第一图像帧之前已拍摄的多个图像帧中,选择该第二图像帧。

可选地,在本申请实施例中,拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系满足以下条件:

旋转角度变化小于或等于第一阈值;和/或,

位置变化大于或等于第二阈值。

可选地,在本申请实施例中,该多个候选深度信息中第i个候选深度信息zi通过以下公式得到:

其中,i=0,1,2,...,n-1,f为该摄像头的焦距,l为该相对距离。

可选地,在本申请实施例中,该选择单元430进一步用于:

基于拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,以及分别结合该多个候选深度信息,将该第一图像帧中的像素点向该第二图像帧进行投影;

基于该第一图像帧中的第一像素点的像素信息,以及分别结合不同候选深度信息进行投影时相应位置的像素点的像素信息,从该多个候选深度信息中,为该第一像素点选择该深度信息。

可选地,在本申请实施例中,该选择单元430进一步用于:

基于该第一的像素点的像素信息分别与不同候选深度信息进行投影时相应位置的像素点的像素信息的差异,为该第一像素点构建第一代价函数;

基于该多个候选深度信息分别对应的该第一代价函数,从该多个候选深度信息中,为该第一像素点选择该深度信息。

可选地,在本申请实施例中,该选择单元430进一步用于:

基于该多个候选深度信息分别对应的该第一代价函数以及基于第二代价函数,从该多个候选深度信息中,为该第一像素点选择该深度信息,其中,该第二代价函数是为该第一图像帧中的第二像素点构建的代价函数;

在该第二像素点为该摄像头的固定遮挡区域对应的像素点时,该第二代价函数的取值大于或等于预设值。

可选地,在本申请实施例中,设备400还包括验证单元440,用于:

获取该第二图像帧的像素点的深度信息;

利用该第二图像帧的像素点的深度信息,对该第一图像帧的像素点的深度信息进行验证。

可选地,在本申请实施例中,该验证单元440进一步用于:

利用拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,以及该第二图像帧的像素点的深度信息,对该第一图像帧的像素点的深度信息进行验证。

可选地,在本申请实施例中,该验证单元440进一步用于:

根据该第一图像帧中的第三像素点的像素坐标以及该第三像素点的深度信息,确定该第一像素点的3d位置;

根据该第三像素点的3d位置,以及拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,得到该第三像素点在该第二图像帧对应的第四像素点;

根据该第四像素点的深度信息,以及该第四像素点的像素坐标,确定该第四像素点的3d位置;

根据该第四像素点的3d位置,以及拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,得到该第四像素点在该第一图像帧对应的第五像素点;

比较该第三像素点和该第五像素点的差异;

根据比较结果,确定该第三像素点的深度信息的准确性。

可选地,在本申请实施例中,第一图像帧为灰度图,该验证单元440进一步用于:

在该第三像素点的表征灰度信息的值与该第五像素点的表征灰度信息的值之间的差值的绝对值大于或等于第三阈值时,确定该第三像素点的深度信息不准确。

可选地,在本申请实施例中,设备400还包括放弃单元450,用于:

在该第三像素点的深度信息不准确时,放弃得到的该第三像素点的深度信息。

可选地,在本申请实施例中,设备400还包括设置单元460,用于:

将该第一图像帧中天空对应的像素点的深度信息设置为无穷远,或者将该天空对应的像素点设置为无效点。

可选地,在本申请实施例中,该摄像头为单目摄像头。

应理解,该设备400可以实现方法200中的相应操作,为了简洁,在此不再赘述。

图7是根据本申请实施例的图像处理设备500的示意性框图

可选地,该图像处理设备500可以包括多个不同的部件,这些部件可以作为集成电路(integratedcircuits,ics),或集成电路的部分,离散的电子设备,或其它适用于电路板(诸如主板,或附加板)的模块,也可以作为并入计算机系统的部件。

可选地,该图像处理设备可以包括处理器510和与处理器510耦合的存储器520。

处理器510可以包括一个或多个通用处理器,诸如中央处理单元(centralprocessingunit,cpu),或处理设备等。具体地,该处理器510可以是复杂指令集处理(complexinstructionsetcomputing,cisc)微处理器,超长指令字(verylonginstructionword,vliw)微处理器,实现多个指令集组合的微处理器。该处理器也可以是一个或多个专用处理器,诸如应用专用集成电路(applicationspecificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga),数字信号处理器(digitalsignalprocessor,dsp)。

处理器510可以与存储器520通信。该存储器520可以为磁盘、光盘、只读存储器(readonlymemory,rom),闪存,相变存储器。该存储器520可以存储有处理器存储的指令,和/或,可以缓存一些从外部存储设备存储的信息。可选地,存储器520可以独立于处理器510,也可以为处理器510中的一部分。

可选地,除了处理器520和存储器520,图像处理设备可以包括显示控制器和/或显示设备单元530,收发器540,视频输入输出单元550,音频输入输出单元560,其他输入输出单元570。图像处理设备500包括的这些部件可以通过总线或内部连接互联。

可选地,该收发器540可以是有线收发器或无线收发器,诸如,wifi收发器,卫星收发器,蓝牙收发器,无线蜂窝电话收发器或其组合等。

可选地,视频输入输出单元550可以包括诸如摄像机的图像处理子系统,其包括光传感器,电荷耦合器件(chargedcoupleddevice,ccd)或互补金属氧化物半导体(complementarymetal-oxidesemiconductor,cmos)光传感器,以用于实现拍摄功能。

可选地,该音频输入输出单元560可以包括扬声器,话筒,听筒等。

可选地,其他输入输出设备570可以包括存储设备,universalserialbus(usb)端口,串行端口,并行端口,打印机,网络接口等。

可选地,该图像处理设备500可以执行方法200所示的操作,为了简洁,在此不再赘述。

可选地,图像处理设备400-500可以位于可移动设备中。可移动设备可以在任何合适的环境下移动,例如,空气中(例如,定翼飞机、旋翼飞机,或既没有定翼也没有旋翼的飞机)、水中(例如,轮船或潜水艇)、陆地上(例如,汽车或火车)、太空(例如,太空飞机、卫星或探测器),以及以上各种环境的任何组合。可移动设备可以是飞机,例如无人机(unmannedaerialvehicle,简称为“uav”)(此时,图像处理设备400-500可以是无人机中的飞行控制器)。在一些实施例中,可移动设备可以承载生命体,例如,人或动物。

图8是根据本申请实施例的摄像装置600的示意性框图。该摄像装置600包括摄像头610和处理器620;所述摄像头610用于获取图像帧,所述处理器620用于基于所述摄像头获取的图像帧,执行以下操作:获取拍摄第一图像帧和第二图像帧时所述摄像头的相对距离;基于所述相对距离,确定多个候选深度信息;基于拍摄所述第一图像帧和所述第二图像帧时所述摄像头的位姿关系,从所述多个候选深度信息中,为所述第一图像帧中的像素点选择深度信息。

其中,该摄像头610还可以称为摄像组件,或者摄像头610可以为摄像装置600包括的用于获取图像帧的摄像组件的一部分。

该处理器620可以用于实现上述方法实施例中的图像处理方法,为了简洁,在此不再赘述。

进一步地,该摄像装置600还可以包括存储器,处理器620可以调用存储器中的程序,执行上述方法实施例中的图像处理方法,为了简洁,在此不再赘述。

其中,该存储器可以独立于处理器620,也可以是处理器620中的一部分。

图9是根据本申请实施例的无人机700的示意性框图。该无人机700可以包括动力系统710、传感系统720和处理器730。

其中,该动力系统710在处理器730的控制下为该无人机700提供动力;该传感系统720包括摄像头722,用于拍摄图像帧;该处理器730用于基于该摄像头722拍摄的图像帧计算深度信息,以控制该无人机700的飞行,其中,该处理器730具体用于:获取拍摄第一图像帧和第二图像帧时该摄像头的相对距离;基于该相对距离,确定多个候选深度信息;基于拍摄该第一图像帧和该第二图像帧时该摄像头的位姿关系,从该多个候选深度信息中,为该第一图像帧中的像素点选择深度信息。

进一步地,该传感系统720还包括视觉惯导里程计724,其中,拍摄该第一图像帧和该第二图像帧时该摄像头722的位姿关系和相对距离是基于该视觉惯导里程计724的输出数据得到的。

其中,该摄像头722还可以称为摄像组件,或者摄像头可以为无人机包括的用于获取图像帧的摄像组件的一部分。

其中,该处理器730可以用于实现上述方法实施例中的图像处理方法,为了简洁,在此不再赘述。

可选地,该处理器730可以置于飞行控制器中,或者也可以为飞行控制器,或者也可以置于摄像头中。

可选地,该无人机700的具体描述可以参考飞行控制系统100中的描述,为了简洁,在此不再赘述。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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