图像处理方法、电子设备和图像处理系统转让专利

申请号 : CN201710903510.3

文献号 : CN107749069B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王东

申请人 : 联想(北京)有限公司

摘要 :

本公开提供了一种图像处理方法,包括,通过单一摄像头获取不同时刻的至少两帧图像,其中,所述至少两帧图像至少部分内容相对应;以及基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述采集参数包括位置变化参数,所述位置变化参数用于确定两次图像采集时,所述摄像头的位置变化。本公开还提供了一种电子设备以及一种图像处理系统。

权利要求 :

1.一种图像处理方法,包括:

通过单一摄像头获取不同时刻的至少两帧图像,其中,所述至少两帧图像至少部分内容相对应;以及基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述采集参数包括位置变化参数,所述位置变化参数用于确定两次图像采集时,所述摄像头的位置变化,其中,所述基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度包括:基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量,其中,所述采集参数还包括所述摄像头的焦距;基于所述旋转向量,处理所述第一图像中内容相对应的部分的特征点;

以及基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度包括:确定第一特征点,其中,所述第一特征点在第一图像中经旋转向量处理后的位置与所述第一特征点在第二图像中的位置相同;

确定第二特征点,其中,所述第二特征点在第一图像中经旋转向量处理后的位置与所述第二特征点在第二图像中的位置不同;

根据所述采集参数,确定两次图像采集时所述摄像头的位置变化;以及

根据第一特征点和第二特征点在两帧图像中的位置,以及所述摄像头移动的距离和方向,确定所述第二特征点在两帧图像中的深度。

2.根据权利要求1所述的方法,其中,所述基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量包括:从所述两帧图像中选取的多组相对应的特征点,基于所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量处理所述第一图像中内容相对应的部分的特征点后获得的特征点与所述第二图像中相对应的特征点的连线共交点,确定所述旋转向量的最优解。

3.根据权利要求1所述的方法,还包括:

基于图像中的特征点的深度,对特征点聚类,识别图像中不同深度的对象。

4.一种电子设备,包括:

处理器;以及

存储器,其上存储有计算机可读指令,所述指令被处理器执行时,使得处理器:通过单一摄像头获取不同时刻的至少两帧图像,其中,所述至少两帧图像至少部分内容相对应;以及基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述采集参数包括位置变化参数,所述位置变化参数用于确定两次图像采集时,所述摄像头的位置变化,其中,所述处理器基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度包括:基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量,其中,所述采集参数还包括所述摄像头的焦距;基于所述旋转向量,处理所述第一图像中内容相对应的部分的特征点;以及基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述处理器基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度包括:确定第一特征点,其中,所述第一特征点在第一图像中经旋转向量处理后的位置与所述第一特征点在第二图像中的位置相同;

确定第二特征点,其中,所述第二特征点在第一图像中经旋转向量处理后的位置与所述第二特征点在第二图像中的位置不同;

根据所述采集参数,确定两次图像采集时所述摄像头的位置变化;以及

根据第一特征点和第二特征点在两帧图像中的位置,以及所述摄像头移动的距离和方向,确定所述第二特征点在两帧图像中的深度。

5.根据权利要求4所述的电子设备,其中,所述处理器基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量包括:从所述两帧图像中选取的多组相对应的特征点,基于所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量处理所述第一图像中内容相对应的部分的特征点后获得的特征点与所述第二图像中相对应的特征点的连线共交点,确定所述旋转向量的最优解。

6.一种图像处理系统,包括:

获取模块,用于通过单一摄像头获取不同时刻的至少两帧图像,其中,所述至少两帧图像至少部分内容相对应;以及处理模块,用于基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述采集参数包括位置变化参数,所述位置变化参数用于确定两次图像采集时,所述摄像头的位置变化;

其中,所述处理模块基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度包括:基于采集所述两帧图像时的采集参数,确定实施两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量,其中,所述采集参数还包括所述摄像头的焦距;基于所述旋转向量,处理所述第一图像中内容相对应的部分的特征点;以及基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述处理器基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度包括:确定第一特征点,其中,所述第一特征点在第一图像中经旋转向量处理后的位置与所述第一特征点在第二图像中的位置相同;

确定第二特征点,其中,所述第二特征点在第一图像中经旋转向量处理后的位置与所述第二特征点在第二图像中的位置不同;

根据所述采集参数,确定两次图像采集时所述摄像头的位置变化;以及

根据第一特征点和第二特征点在两帧图像中的位置,以及所述摄像头移动的距离和方向,确定所述第二特征点在两帧图像中的深度。

说明书 :

图像处理方法、电子设备和图像处理系统

技术领域

[0001] 本公开涉及一种图像处理方法、电子设备和图像处理系统。

背景技术

[0002] 目前在人工智能领域,手机以及计算机上出现的基于三维空间的应用越来越多,同时,利用图像深度数据辅助图像或视频处理的方案也日益增加。但是,能及时获取深度数据的设备却依然还是少数,这大大阻碍了这部分应用以及方案的推广使用。使用TOF传感器或者使用双摄像头来实时获取图片深度需要改进拍摄设备的硬件,会增加成本,且在很多现有设备上无法使用。

发明内容

[0003] 本公开的一个方面提供了一种图像处理方法,包括,通过单一摄像头获取不同时刻的至少两帧图像,其中,所述至少两帧图像至少部分内容相对应,以及基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述采集参数包括位置变化参数,所述位置变化参数用于确定两次图像采集时,所述摄像头的位置变化。
[0004] 可选地,所述基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度包括,基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量,其中,所述采集参数还包括所述摄像头的焦距,基于所述旋转向量,处理所述第一图像中内容相对应的部分的特征点,以及基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度。
[0005] 可选地,所述基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量包括,从所述两帧图像中选取的多组相对应的特征点,基于所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量处理所述第一图像中内容相对应的部分的特征点后获得的特征点与所述第二图像中相对应的特征点的连线共交点,确定所述旋转向量的最优解。
[0006] 可选地,所述基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度包括,确定第一特征点,其中,所述第一特征点在第一图像中经旋转向量处理后的位置与所述第一特征点在第二图像中的位置相同,确定第二特征点,其中,所述第二特征点在第一图像中经旋转向量处理后的位置与所述第二特征点在第二图像中的位置不同,根据所述采集参数,确定两次图像采集时所述摄像头的位置变化,以及根据第一特征点和第二特征点在两帧图像中的位置,以及所述摄像头移动的距离和方向,确定所述第二特征点在两帧图像中的深度。
[0007] 可选地,所述方法还包括,基于图像中的特征点的深度,对特征点聚类,识别图像中不同深度的对象。
[0008] 本公开的另一个方面提供了一种电子设备,包括,处理器,以及存储器,其上存储有计算机可读指令,所述指令被处理器执行时,使得处理器,通过单一摄像头获取不同时刻的至少两帧图像,其中,所述至少两帧图像至少部分内容相对应,以及基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述采集参数包括位置变化参数,所述位置变化参数用于确定两次图像采集时,所述摄像头的位置变化。
[0009] 可选地,所述处理器基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度包括,基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量,其中,所述采集参数还包括所述摄像头的焦距,基于所述旋转向量,处理所述第一图像中内容相对应的部分的特征点,以及基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度。
[0010] 可选地,所述处理器基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量包括,从所述两帧图像中选取的多组相对应的特征点,基于所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量处理所述第一图像中内容相对应的部分的特征点后获得的特征点与所述第二图像中相对应的特征点的连线共交点,确定所述旋转向量的最优解。
[0011] 可选地,所述处理器基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度包括,确定第一特征点,其中,所述第一特征点在第一图像中经旋转向量处理后的位置与所述第一特征点在第二图像中的位置相同,确定第二特征点,其中,所述第二特征点在第一图像中经旋转向量处理后的位置与所述第二特征点在第二图像中的位置不同,根据所述采集参数,确定两次图像采集时所述摄像头的位置变化,以及根据第一特征点和第二特征点在两帧图像中的位置,以及所述摄像头移动的距离和方向,确定所述第二特征点在两帧图像中的深度。
[0012] 本公开的另一个方面提供了一种图像处理系统,包括,获取模块,用于通过单一摄像头获取不同时刻的至少两帧图像,其中,所述至少两帧图像至少部分内容相对应,以及处理模块,用于基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述采集参数包括位置变化参数,所述位置变化参数用于确定两次图像采集时,所述摄像头的位置变化。
[0013] 本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
[0014] 本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

附图说明

[0015] 为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
[0016] 图1示意性示出了根据本公开实施例的图像处理方法、电子设备和图像处理系统的应用场景;
[0017] 图2示意性示出了根据本公开实施例的图像处理方法的流程图;
[0018] 图3示意性示出了根据本公开实施例的所述基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度的流程图;
[0019] 图4A示意性示出了根据本公开实施例的选取多组相对应的特征点的示意图;
[0020] 图4B示意性示出了根据本公开实施例的摄像头采集图像的示意图;
[0021] 图4C示意性示出了根据本公开实施例的当摄像头在不同时刻只发生平移而无任何旋转发生时,空间中各点在两时刻所成像连续延长线交于一点的示意图;
[0022] 图5A示意性示出了根据本公开实施例的所述基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度的流程图;
[0023] 图5B示意性示出了根据本公开实施例的根据第一特征点和第二特征点在两帧图像中的位置,以及所述摄像头移动的距离和方向,确定所述第二特征点在两帧图像中的深度的方法的示意图;
[0024] 图6示意性示出了根据本公开另一实施例的图像处理方法的流程图;
[0025] 图7示意性示出了根据本公开实施例的图像处理系统的框图;
[0026] 图8示意性示出了根据本公开实施例的处理模块的框图;
[0027] 图9示意性示出了根据本公开实施例的第二确定子模块的框图;
[0028] 图10示意性示出了根据本公开另一实施例的图像处理系统的框图;以及[0029] 图11示意性示出了根据本公开实施例的电子设备的框图。

具体实施方式

[0030] 以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0031] 在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0032] 在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0033] 在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
[0034] 附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
[0035] 因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
[0036] 本公开的实施例提供了一种用于计算图像深度的图像处理方法、图像处理系统以及电子设备。该方法包括图像采集过程和确定特征点深度过程。在图像采集过程中,通过单一摄像头获取不同时刻的至少两帧图像,其中所述至少两帧图像至少部分内容相对应。在确定特征点深度过程中,基于采集的两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度。利用该方法计算图像深度,减少了摄像头的运动方式的限制,对图像深度求解精度在可接受范围内,适宜在便携设备上部署。此外,一方面,该方法由于不需要改进采集图像的硬件条件,因此对应用设备没有限制,另一方面,该方法不需要获取连续很多帧图像,降低了计算量。
[0037] 图1示意性示出了根据本公开的实施例的图像处理方法、电子设备和图像处理系统的应用场景。
[0038] 如图1所示,在第一时刻,拍摄设备位于位置10,在第二时刻,拍摄设备位于位置20,其中,拍摄设备在位置10和位置20的拍摄角度和拍摄位置不同。例如图1中的示例,在位置10时,拍摄设备的底边与X轴方向平行,在位置20时,在X方向距离位置10的距离为s,且由于各种原因,拍摄设备的角度可能发生了变化,例如,向如图所示的方向旋转了一定角度。
[0039] 拍摄设备在位置10时获取的图像为图像11,在位置20时获取的图像为图像21,其中,图像11与图像21有部分内容相对应,例如图1中的示例,图像11和图像21中的亭子相对应。
[0040] 根据本公开的实施例,通过图像11和图像21计算相对应内容的图像深度,例如计算场景中亭子的图像深度,所述亭子的图像深度可以是在图像11中的图像深度也可以是在图像21中的图像深度。
[0041] 可以理解的是,拍摄设备可以是任一具有采集图像功能的设备,例如手机、平板电脑、摄像机。位置10和位置20只是示意性表示,位置10可以为任意位置,拍摄设备也可以选择任意的拍摄角度,同样的,位置20可以是不同于位置10的任意位置,其拍摄设备姿态可以与位置10相同也可以与位置10不同。至少两帧图像可以是拍摄设备采集的至少两幅图像,也可以是从拍摄设备拍摄的视频中获取的至少两帧图像,或者是以其他方式获得的至少两帧图像。根据本公开实施例,只要拍摄的两帧图像中至少包含相对应的部分内容即可[0042] 根据本公开实施例,通过获取不同时刻的至少两帧图像,其中,至少两帧图像至少部分内容相对应,以及基于采集所述两帧图像时的不同采集参数,例如位置变化参数和旋转向量,确定所述两帧图像中的内容相对应的部分的特征点的深度的图像处理方法至少部分解决了现有技术中计算图像深度对硬件设备要求高、计算量大、摄像头的运动方式有较多限制的问题。
[0043] 图2示意性示出了根据本公开的实施例的图像处理方法的流程图。
[0044] 如图2所示,该方法包括操作S210和S220。
[0045] 在操作S210,通过单一摄像头获取不同时刻的至少两帧图像,其中,所述至少两帧图像至少部分内容相对应。
[0046] 在操作S220,基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述采集参数包括位置变化参数,所述位置变化参数用于确定两次图像采集时,所述摄像头的位置变化。
[0047] 通过该方法计算图像深度不需要改进采集图像的硬件条件,也不需要限制摄像头的运动方式,同时降低了计算量,并且图像深度的计算精度较好。
[0048] 根据本公开实施例,单一摄像头表示该图像处理方法仅需要一个摄像头,不需要像现有技术中计算图像深度的方法需要双摄像头或多个摄像头。所述单一摄像头可以为任何具备图像采集功能的设备,例如手机、照相机或摄像机。
[0049] 根据本公开实施例,通过单一摄像头获取不同时刻的至少两帧图像,其中两帧图像为单一摄像头在不同位置拍摄的图像,也可以是在不同位置拍摄的视频中获取的图像,也可以是以其他方式获得的不同位置采集的图像,无论以何种方式获得的图像,其有部分内容相对应。
[0050] 根据本公开实施例,采集所述两帧图像时,摄像头具备采集参数,采集参数包括摄像头的位置变化参数,用于确定两次图像采集时,摄像头的位置变化。例如,图1中的拍摄设备两次图像采集时,摄像头的位置由位置10变化到了位置20,其位置变化参数包括移动距离s和移动方向,或者由位置10和位置20的坐标所确定的位置变化参数。
[0051] 根据本公开实施例,所述图像处理方法可以根据采集到的两帧图像,以及采集两帧图像时的采集参数,确定两帧图像中内容相对应部分的特征点的深度。
[0052] 下面结合图3说明根据采集到的两帧图像,以及采集两帧图像时的采集参数,确定两帧图像中内容相对应部分的特征点的深度的具体实施方式。需要注意的是,图3可以更好的说明本公开的图像处理方法,但是本公开并不限于图3示意出的实施例。
[0053] 图3示意性示出了根据本公开实施例的所述基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度的流程图。
[0054] 如图3所示,该方法包括操作S310、S320和S330。
[0055] 在操作S310,基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量,其中,所述采集参数还包括所述摄像头的焦距。
[0056] 在操作S320,基于所述旋转向量,处理所述第一图像中内容相对应的部分的特征点。
[0057] 在操作S330,基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度。
[0058] 通过该方法计算图像的深度数据,减少了对运动方式的限制,并且降低了计算量,能够实时获取深度数据。
[0059] 根据本公开实施例,在操作S310,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量包括,基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量。具体地,摄像头采集第一图像时摄像头在空间中的坐标为(x1,y1,z1),采集第二图像时摄像头坐标为(x2,y2,z2),基于上述坐标确定摄像头的旋转向量(a,β,γ)。
[0060] 根据本公开实施例,所述基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量包括,从所述两帧图像中选取的多组相对应的特征点,基于所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量处理所述第一图像中内容相对应的部分的特征点后获得的特征点与所述第二图像中相对应的特征点的连线共交点,确定所述旋转向量的最优解。该方法通过计算确定所述旋转向量的最优解,使得无需测量就能得到较为准确的旋转向量,从而提高图像深度的计算精度。下面结合图4A、图4B和图4C所示意的实施例进行说明。
[0061] 根据本公开实施例,所述两帧图像为分别为在不同时刻,摄像头在第一采集方向采集到的第一图像和在第二采集方向采集到的第二图像,其中第一图像与第二图像有部分内容相对应。从所述两帧图像中相对应的内容中选取多组相对应的特征点。
[0062] 图4A示意性示出了根据本公开实施例的选取多组相对应的特征点的示意图。
[0063] 如图4A所示,第一图像和第二图像中相对应的三组特征点m1与m2、n1与n2和p1与p2,其中m1与m2对应,n1与n2对应以及p1与p2对应,在实际操作中,可以根据不同情况选择多组相对应特征点,本公开对于选取的组数不作限定。
[0064] 根据本公开实施例,摄像头在不同时刻采集两帧图像时,由于各种原因摄像头可能旋转了一定角度。例如,第二采集方向相对于第一采集方向,摄像头旋转向量R(α,β,γ)。
[0065] 根据本公开实施例,基于所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量处理所述第一图像中内容相对应的部分的特征点的具体实施方式如下。
[0066] 图4B示意性示出了根据本公开实施例的摄像头采集图像的示意图。
[0067] 如图4B所示,摄像头所在平面为XY平面,在第一时刻,摄像头在第一采集方向采集到第一图像M,物点A在第一图像M中对应的像点为像点A1,像点A1在摄像头平面的坐标系中的坐标为(x1,y1)。在第二时刻,摄像头移动了一定位置,并且由于某种原因,摄像头旋转了一定角度,摄像头在第二采集方向采集到第二图像N,物点A在第二图像N中对应的像点为像点A2,像点A2在摄像头平面的坐标系中的坐标为(x2,y2),摄像头旋转向量为R(α,β,γ)。
[0068] 根据本公开实施例,基于旋转向量处理第一图像(M图像)中内容相对应的部分的特征点,所述处理包括,将第一图像(M图像)中内容相对应的部分的特征点,例如像点A1,旋转所述旋转向量R(α,β,γ),以补偿由于摄像头的旋转导致的像点位移,使像点A1与像点A2中内容相对应的部分的特征点只有因摄像头平移导致的位移,没有因摄像头旋转导致的位移。像点A1(x1,y1)旋转向量R(α,β,γ)后的坐标变为A1’(x2’,y2’),其中,[0069]
[0070]
[0071] 则为基于所述两帧图像中第一图像的采集方向与
第二图像的采集方向之间的旋转向量处理所述第一图像中内容相对应的部分的特征点的结果。
[0072] 当摄像头在不同时刻只发生平移而无任何旋转发生时,空间中各点在两时刻所成像连续延长线将交于一点。
[0073] 图4C示意性示出了根据本公开实施例的当摄像头在不同时刻只发生平移而无任何旋转发生时,空间中各点在两时刻所成像连续延长线交于一点的示意图。
[0074] 如图4C所示,A1’A2、B1’B2和C1’C2相交于点P。如上所述,基于所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量处理所述第一图像中内容相对应的部分的特征点后的第一图像中的特征点相对于第二图像中相对应的特征点只发生了平移而无任何旋转,因此处理后的特征点A1’A2、B1’B2和C1’C2相交于一点,设交点为P(x0,y0)。
[0075] 根据本公开实施例,由于测量精度等因素的影响,导致存在一定误差。误差可以由表示,利用非线性优化计算误差的最小值,求得误差最小时对应的α、β、γ、x0和y0,此时的R(α,β,γ)为旋转向量的最优解。
[0076] 根据本公开实施例,在操作S320,所述旋转向量为在操作S310所确定的旋转向量,例如是根据最优解确定的旋转向量R(α,β,γ)。基于所述旋转向量,处理所述第一图像中内容相对应的部分的特征点理解为,第一图像中内容相对应的部分的特征点的坐标旋转所述旋转向量,以补偿第一图像中内容相对应的部分的特征点由于摄像头的旋转导致的像点位移,使得第一图像和第二图像中内容相对应部分的特征点只发生了平移而未发生旋转。
[0077] 根据本公开实施例,在操作S330,基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度。
[0078] 下面结合图5A和图5B说明基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度的方法。需要注意的是,图5A和图5B仅用于说明本公开的图像处理方法,但是本公开并不限于图5A和图5B示意出的实施例。
[0079] 图5A示意性示出了根据本公开实施例的所述基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度的流程图。
[0080] 如图5A所示,该方法包括操作S510、S520、S530和S540。
[0081] 在操作S510,确定第一特征点,其中,所述第一特征点在第一图像中经旋转向量处理后的位置与所述第一特征点在第二图像中的位置相同。
[0082] 在操作S520,确定第二特征点,其中,所述第二特征点在第一图像中经旋转向量处理后的位置与所述第二特征点在第二图像中的位置不同。
[0083] 在操作S530,根据所述采集参数,确定两次图像采集时所述摄像头的位置变化。
[0084] 在操作S540,根据第一特征点和第二特征点在两帧图像中的位置,以及所述摄像头移动的距离和方向,确定所述第二特征点在两帧图像中的深度。
[0085] 下面结合图5B的实施例说明图5A所述方法。
[0086] 图5B示意性示出了根据本公开实施例的根据第一特征点和第二特征点在两帧图像中的位置,以及所述摄像头移动的距离和方向,确定所述第二特征点在两帧图像中的深度的方法的示意图。
[0087] 根据本公开实施例,在操作S510,确定第一特征点,所述第一特征点在第一图像中经操作S320的方法处理后的位置与所述第一特征点在第二图像中的位置相同,如图5B所示,第一图像中的第一特征点在第二图像中的位置为点D。
[0088] 根据本公开实施例,如上述操作S510所述,在操作S520,确定第二特征点。如图5B所示,第一图像中的第二特征点在第二图像中的位置为点S2。
[0089] 根据本公开实施例,在操作S530,根据所述采集参数,确定两次图像采集时所述摄像头的位置变化,所述采集参数包括摄像头的焦距、移动距离s和移动方向,或者由位置坐标所确定的位置变化参数。
[0090] 根据本公开实施例,在操作S540,C1为摄像头在第一时刻的位置,C2为摄像头在第2时刻的位置,连接C1、C2两点并延长到与S所在深度交于点D1,与T所在深度交于点D2。S点在第一图像中的像点为S1,第二图像中的像点为S2,T点在第一图像中的像点为T1,第二图像中的像点为T2,需要注意的是,图5B仅为示意性表示,C1C2的移动距离和方向可以是任意值。在图5B所示意的情况下,根据第一特征点和第二特征点在两帧图像中的位置,以及所述摄像头移动的距离和方向,确定所述第二特征点在两帧图像中的深度的计算方法如下所述。
[0091] 如图5B所示:
[0092] 由于△S2DC2∽△SD1C2;
[0093] △S1DC2∽△SD1C1;以及
[0094] S1D=S1S2+S2D,
[0095] 因此,可以得到第二特征点在第二图像中的图像深度C2D1:
[0096] C2D1=C1C2*S1D/S1S2。
[0097] 类似地,可以求得另外的第二特征点T在第二图像中的图像深度、另外的第二特征点T在第一图像中的图像深度,以及第一特征点在第一图像中的图像深度。
[0098] 该方法计算图像深度的过程较为简单,在保证计算精度的同时,能够明显地降低计算量。
[0099] 图6示意性示出了根据本公开另一实施例的图像处理方法的流程图。
[0100] 如图6所示,该方法包括操作S210、S220和S610。
[0101] 在操作S610,基于图像中的特征点的深度,对特征点聚类,识别图像中不同深度的对象。根据本公开实施例,可以采用现有的聚类方法,例如K-means,对图像中各个像素点的深度进行聚类,认为深度相近的像素点可能表示一个物体,因此可以识别图像中的物体。
[0102] 该方法可以识别图像中不同深度的对象,以应用于提取前景、三维重现等技术领域。
[0103] 图7示意性示出了根据本公开实施例的图像处理系统700的框图。
[0104] 如图7所示,图像处理系统700包括获取模块710和处理模块720。
[0105] 获取模块710,例如执行上文参考图2描述的操作S210,用于通过单一摄像头获取不同时刻的至少两帧图像,其中,所述至少两帧图像至少部分内容相对应。
[0106] 处理模块720,例如执行上文参考图2描述的操作S220,用于基于采集所述两帧图像时的采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度,其中,所述采集参数包括位置变化参数,所述位置变化参数用于确定两次图像采集时,所述摄像头的位置变化。
[0107] 图8示意性示出了根据本公开实施例的处理模块720的框图。
[0108] 如图8所示,处理模块720包括第一确定子模块810、处理子模块820和第二确定子模块830。
[0109] 第一确定子模块810,例如执行上文参考图3描述的操作S310,用于基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量,其中,所述采集参数还包括所述摄像头的焦距。
[0110] 处理子模块820,例如执行上文参考图3描述的操作S320,用于基于所述旋转向量,处理所述第一图像中内容相对应的部分的特征点。
[0111] 第二确定子模块830,例如执行上文参考图3描述的操作S330,用于基于处理后的特征点、与所述特征点对应的第二图像中的特征点以及采集参数,确定所述两帧图像中的内容相对应的部分的特征点的深度。
[0112] 根据本公开实施例,所述基于采集所述两帧图像时的采集参数,确定所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量包括从所述两帧图像中选取的多组相对应的特征点,基于所述两帧图像中第一图像的采集方向与第二图像的采集方向之间的旋转向量处理所述第一图像中内容相对应的部分的特征点后获得的特征点与所述第二图像中相对应的特征点的连线共交点,确定所述旋转向量的最优解。
[0113] 图9示意性示出了根据本公开实施例的第二确定子模块830的框图。
[0114] 如图9所示,第二确定子模块830包括第一确定单元910、第二确定单元920、第三确定单元930和第四确定子模块940。
[0115] 第一确定单元910,例如执行上文参考图5A描述的操作S510,用于确定第一特征点,其中,所述第一特征点在第一图像中经旋转向量处理后的位置与所述第一特征点在第二图像中的位置相同。
[0116] 第二确定单元920,例如执行上文参考图5描述的操作S520,用于确定第二特征点,其中,所述第二特征点在第一图像中经旋转向量处理后的位置与所述第二特征点在第二图像中的位置不同。
[0117] 第三确定单元930,例如执行上文参考图5描述的操作S530,用于根据所述采集参数,确定两次图像采集时所述摄像头的位置变化。
[0118] 第四确定子模块840,例如执行上文参考图5描述的操作S540,用于根据第一特征点和第二特征点在两帧图像中的位置,以及所述摄像头移动的距离和方向,确定所述第二特征点在两帧图像中的深度。
[0119] 图10示意性示出了根据本公开另一实施例的图像处理系统1000的框图。
[0120] 如图10所示,图像处理系统1000包括获取模块610、处理模块620和识别模块1010。
[0121] 识别模块1010,例如执行上文参考图6描述的操作S610,用于基于图像中的特征点的深度,对特征点聚类,识别图像中不同深度的对象。
[0122] 可以理解的是,上述模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,上述模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,上述模块中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
[0123] 图11示意性示出了根据本公开的实施例的电子设备1100的框图。
[0124] 如图11所示,电子设备1100包括处理器1110和存储器1120。该电子设备1100可以执行上面参考图2、图3、图5A或图6描述的方法,以实现图像深度的计算。
[0125] 具体地,处理器1110例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1110还可以包括用于缓存用途的板载存储器。处理器510可以是用于执行参考图2、图3、图5A或图6描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0126] 存储器1120,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
[0127] 存储器1120可以包括计算机程序1121,该计算机程序1121可以包括代码/计算机可执行指令,其在由处理器1110执行时使得处理器1110执行例如上面结合图2、图3、图5A或图6所描述的方法流程及其任何变形。
[0128] 计算机程序1121可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序1121中的代码可以包括一个或多个程序模块,例如包括1121A、模块1121B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器
1110执行时,使得处理器1110可以执行例如上面结合图2、图3、图5A或图6所描述的方法流程及其任何变形。
[0129] 根据本发明的实施例,上述所述模块中的至少一个可以实现为参考图11描述的计算机程序模块,其在被处理器1110执行时,可以实现上面描述的相应操作。
[0130] 本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
[0131] 尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。