基于车载单目相机的图像拼接方法、装置、设备及系统转让专利

申请号 : CN201810501402.8

文献号 : CN110533586B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李雪

申请人 : 杭州海康威视数字技术股份有限公司

摘要 :

本发明实施例提供了一种基于车载单目相机的图像拼接方法、装置、设备及系统,方法包括:获取当前帧图像对应的第一采集时刻与上一帧图像对应的第二采集时刻之间车辆的方位变化信息,根据该方位变化信息,构建当前帧图像与上一帧图像之间的第一变换矩阵;根据该第一变换矩阵,将当前帧图像与上一帧图像进行拼接。可见,本方案中,基于车辆的方位变化信息进行图像拼接,不受特征点对的数量影响,拼接效果佳。

权利要求 :

1.一种基于车载单目相机的图像拼接方法,其特征在于,包括:获取待拼接的当前帧图像;

获取第一采集时刻与第二采集时刻之间车辆的方位变化信息;其中,所述第一采集时刻为所述当前帧图像对应的采集时刻,所述第二采集时刻为所述当前帧图像的上一帧图像对应的采集时刻;

根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵;

根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接;

其中,所述获取第一采集时刻与第二采集时刻之间车辆的方位变化信息,包括:根据预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹,预测所述第一采集时刻与所述第二采集时刻之间跟踪点的运动轨迹;其中,跟踪点为每帧图像中指定位置的像素点;

根据预测得到的运动轨迹,计算车辆在所述第一采集时刻与所述第二采集时刻之间的相对位移及相对转角。

2.根据权利要求1所述的方法,其特征在于,所述根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵,包括:根据所述相对位移和所述相对转角,构建所述当前帧图像与所述上一帧图像之间的欧拉矩阵。

3.根据权利要求1所述的方法,其特征在于,在所述获取第一采集时刻与第二采集时刻之间车辆的方位变化信息之前,还包括:在所述当前帧图像及所述当前帧图像的上一帧图像中,提取特征点对;

将所述特征点对进行配准,根据配准结果,计算所述当前帧图像与所述上一帧图像之间的第二变换矩阵;

计算所述第二变换矩阵与预先确定的历史变换矩阵之间的偏差,所述历史变换矩阵为:所述上一帧图像与所述上一帧图像的再上一帧图像之间的变换矩阵;

判断所述偏差是否大于预设阈值;

如果大于,执行所述获取第一采集时刻与第二采集时刻之间车辆的方位变化信息的步骤;

如果不大于,根据所述第二变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。

4.根据权利要求3所述的方法,其特征在于,在判定所述偏差不大于所述预设阈值的情况下,所述方法还包括:根据所述第二变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至所述当前帧图像的坐标系中;其中,跟踪点为每帧图像中指定位置的像素点;所述运动轨迹用于获取车辆的方位变化信息;

在所述当前帧图像的坐标系中,将所述当前帧图像中的跟踪点的位置添加至所述运动轨迹;

在判定所述偏差大于所述预设阈值的情况下,在所述根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵之后,所述方法还包括:根据所述第一变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至所述当前帧图像的坐标系中;

在所述当前帧图像的坐标系中,将所述当前帧图像中的跟踪点的位置添加至所述运动轨迹。

5.根据权利要求1所述的方法,其特征在于,所述根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接,包括:根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像对应的拼接图像进行拼接,得到所述当前帧图像对应的拼接图像;其中,所述上一帧图像对应的拼接图像为:所述上一帧图像与所述上一帧图像之前的图像进行拼接得到的。

6.根据权利要求1所述的方法,其特征在于,所述获取待拼接的当前帧图像,包括:获取车载单目相机采集的鱼眼图像;

根据所述车载单目相机的参数,将所述鱼眼图像转换为俯视图像,并将所述俯视图像作为待拼接的所述当前帧图像。

7.一种基于车载单目相机的图像拼接装置,其特征在于,包括:第一获取模块,用于获取待拼接的当前帧图像;

第二获取模块,用于获取第一采集时刻与第二采集时刻之间车辆的方位变化信息;其中,所述第一采集时刻为所述当前帧图像对应的采集时刻,所述第二采集时刻为所述当前帧图像的上一帧图像对应的采集时刻;

构建模块,用于根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵;

第一拼接模块,用于根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接;

其中,所述第二获取模块具体用于:

根据预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹,预测所述第一采集时刻与所述第二采集时刻之间跟踪点的运动轨迹;其中,跟踪点为每帧图像中指定位置的像素点;

根据预测得到的运动轨迹,计算车辆在所述第一采集时刻与所述第二采集时刻之间的相对位移及相对转角。

8.根据权利要求7所述的装置,其特征在于,所述构建模块,具体用于:根据所述相对位移和所述相对转角,构建所述当前帧图像与所述上一帧图像之间的欧拉矩阵。

9.根据权利要求7所述的装置,其特征在于,所述装置还包括:提取模块,用于在所述第二获取模块获取第一采集时刻与第二采集时刻之间车辆的方位变化信息之前,在所述当前帧图像及所述当前帧图像的上一帧图像中,提取特征点对;

第一计算模块,用于将所述特征点对进行配准,根据配准结果,计算所述当前帧图像与所述上一帧图像之间的第二变换矩阵;

第二计算模块,用于计算所述第二变换矩阵与预先确定的历史变换矩阵之间的偏差,所述历史变换矩阵为:所述上一帧图像与所述上一帧图像的再上一帧图像之间的变换矩阵;

判断模块,用于判断所述偏差是否大于预设阈值;如果大于,触发所述第二获取模块,如果不大于,触发第二拼接模块;

第二拼接模块,用于根据所述第二变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。

10.根据权利要求9所述的装置,其特征在于,所述装置还包括:第一转换模块,用于在所述判断模块判定所述偏差不大于所述预设阈值的情况下,根据所述第二变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至所述当前帧图像的坐标系中,并触发添加模块;其中,跟踪点为每帧图像中指定位置的像素点;所述运动轨迹用于获取车辆的方位变化信息;

第二转换模块,用于在所述判断模块判定所述偏差大于所述预设阈值的情况下,在所述构建模块根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵之后,根据所述第一变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至所述当前帧图像的坐标系中,并触发添加模块;

所述添加模块,用于在所述当前帧图像的坐标系中,将所述当前帧图像中的跟踪点的位置添加至所述运动轨迹。

11.根据权利要求7所述的装置,其特征在于,所述第一拼接模块,具体用于:根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像对应的拼接图像进行拼接,得到所述当前帧图像对应的拼接图像;其中,所述上一帧图像对应的拼接图像为:所述上一帧图像与所述上一帧图像之前的图像进行拼接得到的。

12.根据权利要求7所述的装置,其特征在于,所述第一获取模块,具体用于:获取车载单目相机采集的鱼眼图像;

根据所述车载单目相机的参数,将所述鱼眼图像转换为俯视图像,并将所述俯视图像作为待拼接的所述当前帧图像。

13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现权利要求1‑6任一所述的方法步骤。

14.一种辅助驾驶系统,其特征在于,包括:单目相机和处理设备;其中,所述单目相机,用于将采集到的每一当前帧图像发送至所述处理设备;

所述处理设备,用于接收所述当前帧图像;获取第一采集时刻与第二采集时刻之间车辆的方位变化信息;其中,所述第一采集时刻为所述当前帧图像对应的采集时刻,所述第二采集时刻为所述当前帧图像的上一帧图像对应的采集时刻;根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵;根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接;

其中,所述处理设备获取第一采集时刻与第二采集时刻之间车辆的方位变化信息,包括:根据预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹,预测所述第一采集时刻与所述第二采集时刻之间跟踪点的运动轨迹;其中,跟踪点为每帧图像中指定位置的像素点;根据预测得到的运动轨迹,计算车辆在所述第一采集时刻与所述第二采集时刻之间的相对位移及相对转角。

说明书 :

基于车载单目相机的图像拼接方法、装置、设备及系统

技术领域

[0001] 本发明涉及辅助驾驶技术领域,特别是涉及一种基于车载单目相机的图像拼接方法、装置、设备及系统。

背景技术

[0002] 现有的车辆中,车身外侧或驾驶室内通常设置有单目相机,车辆运行过程中,该单目相机对沿途景物进行图像采集,将采集得到的相邻帧图像进行拼接,得到大视角的拼接图像,将该拼接图像展示给驾驶者,可以起到辅助驾驶的作用。
[0003] 将相邻帧图像进行拼接的方案通常包括:在该相邻帧图像中,提取特征点对,将特征点对进行配准,根据配准结果,将该相邻帧图像进行拼接。该拼接方案中,如果提取到的特征点对数量较少,根据特征点对的配准结果进行拼接,得到的拼接图像中接缝明显,拼接效果较差。

发明内容

[0004] 本发明实施例的目的在于提供一种基于车载单目相机的图像拼接方法、装置、设备及系统,以提高拼接效果。
[0005] 为达到上述目的,本发明实施例提供了一种基于车载单目相机的图像拼接方法,包括:
[0006] 获取待拼接的当前帧图像;
[0007] 获取第一采集时刻与第二采集时刻之间车辆的方位变化信息;其中,所述第一采集时刻为所述当前帧图像对应的采集时刻,所述第二采集时刻为所述当前帧图像的上一帧图像对应的采集时刻;
[0008] 根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵;
[0009] 根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。
[0010] 可选的,所述获取第一采集时刻与第二采集时刻之间车辆的方位变化信息,可以包括:
[0011] 根据预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹,预测所述第一采集时刻与所述第二采集时刻之间跟踪点的运动轨迹;其中,跟踪点为每帧图像中指定位置的像素点;
[0012] 根据预测得到的运动轨迹,计算车辆在所述第一采集时刻与所述第二采集时刻之间的相对位移及相对转角。
[0013] 可选的,所述根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵,可以包括:
[0014] 根据所述相对位移和所述相对转角,构建所述当前帧图像与所述上一帧图像之间的欧拉矩阵。
[0015] 可选的,在所述获取第一采集时刻与第二采集时刻之间车辆的方位变化信息之前,还可以包括:
[0016] 在所述当前帧图像及所述当前帧图像的上一帧图像中,提取特征点对;
[0017] 将所述特征点对进行配准,根据配准结果,计算所述当前帧图像与所述上一帧图像之间的第二变换矩阵;
[0018] 计算所述第二变换矩阵与预先确定的历史变换矩阵之间的偏差,所述历史变换矩阵为:所述上一帧图像与所述上一帧图像的再上一帧图像之间的变换矩阵;
[0019] 判断所述偏差是否大于预设阈值;
[0020] 如果大于,执行所述获取第一采集时刻与第二采集时刻之间车辆的方位变化信息的步骤;
[0021] 如果不大于,根据所述第二变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。
[0022] 可选的,在判定所述偏差不大于所述预设阈值的情况下,所述方法还包括:
[0023] 根据所述第二变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至所述当前帧图像的坐标系中;其中,跟踪点为每帧图像中指定位置的像素点;所述运动轨迹用于获取车辆的方位变化信息;
[0024] 在所述当前帧图像的坐标系中,将所述当前帧图像中的跟踪点的位置添加至所述运动轨迹;
[0025] 在判定所述偏差大于所述预设阈值的情况下,在所述根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵之后,所述方法还包括:
[0026] 根据所述第一变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至所述当前帧图像的坐标系中;
[0027] 在所述当前帧图像的坐标系中,将所述当前帧图像中的跟踪点的位置添加至所述运动轨迹。
[0028] 可选的,所述根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接,可以包括:
[0029] 根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像对应的拼接图像进行拼接,得到所述当前帧图像对应的拼接图像;其中,所述上一帧图像对应的拼接图像为:所述上一帧图像与所述上一帧图像之前的图像进行拼接得到的。
[0030] 可选的,所述获取待拼接的当前帧图像,可以包括:
[0031] 获取车载单目相机采集的鱼眼图像;
[0032] 根据所述车载单目相机的参数,将所述鱼眼图像转换为俯视图像,并将所述俯视图像作为待拼接的所述当前帧图像。
[0033] 为达到上述目的,本发明实施例还提供了一种基于车载单目相机的图像拼接装置,包括:
[0034] 第一获取模块,用于获取待拼接的当前帧图像;
[0035] 第二获取模块,用于获取第一采集时刻与第二采集时刻之间车辆的方位变化信息;其中,所述第一采集时刻为所述当前帧图像对应的采集时刻,所述第二采集时刻为所述当前帧图像的上一帧图像对应的采集时刻;
[0036] 构建模块,用于根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵;
[0037] 第一拼接模块,用于根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。
[0038] 可选的,所述第二获取模块具体可以用于:
[0039] 根据预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹,预测所述第一采集时刻与所述第二采集时刻之间跟踪点的运动轨迹;其中,跟踪点为每帧图像中指定位置的像素点;
[0040] 根据预测得到的运动轨迹,计算车辆在所述第一采集时刻与所述第二采集时刻之间的相对位移及相对转角。
[0041] 可选的,所述构建模块,具体可以用于:
[0042] 根据所述相对位移和所述相对转角,构建所述当前帧图像与所述上一帧图像之间的欧拉矩阵。
[0043] 可选的,所述装置还可以包括:
[0044] 提取模块,用于在所述第二获取模块获取第一采集时刻与第二采集时刻之间车辆的方位变化信息之前,在所述当前帧图像及所述当前帧图像的上一帧图像中,提取特征点对;
[0045] 第一计算模块,用于将所述特征点对进行配准,根据配准结果,计算所述当前帧图像与所述上一帧图像之间的第二变换矩阵;
[0046] 第二计算模块,用于计算所述第二变换矩阵与预先确定的历史变换矩阵之间的偏差,所述历史变换矩阵为:所述上一帧图像与所述上一帧图像的再上一帧图像之间的变换矩阵;
[0047] 判断模块,用于判断所述偏差是否大于预设阈值;如果大于,触发所述第二获取模块,如果不大于,触发第二拼接模块;
[0048] 第二拼接模块,用于根据所述第二变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。
[0049] 可选的,所述装置还可以包括:
[0050] 第一转换模块,用于在所述判断模块判定所述偏差不大于所述预设阈值的情况下,根据所述第二变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至所述当前帧图像的坐标系中,并触发添加模块;其中,跟踪点为每帧图像中指定位置的像素点;所述运动轨迹用于获取车辆的方位变化信息;
[0051] 第二转换模块,用于在所述判断模块判定所述偏差大于所述预设阈值的情况下,在所述构建模块根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵之后,根据所述第一变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至所述当前帧图像的坐标系中,并触发添加模块;
[0052] 所述添加模块,用于在所述当前帧图像的坐标系中,将所述当前帧图像中的跟踪点的位置添加至所述运动轨迹。
[0053] 可选的,所述第一拼接模块,具体可以用于:
[0054] 根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像对应的拼接图像进行拼接,得到所述当前帧图像对应的拼接图像;其中,所述上一帧图像对应的拼接图像为:所述上一帧图像与所述上一帧图像之前的图像进行拼接得到的。
[0055] 可选的,所述第一获取模块,具体可以用于:
[0056] 获取车载单目相机采集的鱼眼图像;
[0057] 根据所述车载单目相机的参数,将所述鱼眼图像转换为俯视图像,并将所述俯视图像作为待拼接的所述当前帧图像。
[0058] 为达到上述目的,本发明实施例还一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0059] 存储器,用于存放计算机程序;
[0060] 处理器,用于执行存储器上所存放的程序时,实现上述任一种基于车载单目相机的图像拼接方法。
[0061] 为达到上述目的,本发明实施例还一种辅助驾驶系统,包括:单目相机和处理设备;其中,
[0062] 所述单目相机,用于将采集到的每一当前帧图像发送至所述处理设备;
[0063] 所述处理设备,用于接收所述当前帧图像;获取第一采集时刻与第二采集时刻之间车辆的方位变化信息;其中,所述第一采集时刻为所述当前帧图像对应的采集时刻,所述第二采集时刻为所述当前帧图像的上一帧图像对应的采集时刻;根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵;根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。
[0064] 应用本发明所示实施例,获取当前帧图像对应的第一采集时刻与上一帧图像对应的第二采集时刻之间车辆的方位变化信息,根据该方位变化信息,构建当前帧图像与上一帧图像之间的第一变换矩阵;根据该第一变换矩阵,将当前帧图像与上一帧图像进行拼接。可见,本方案中,基于车辆的方位变化信息进行图像拼接,不受特征点对的数量影响,拼接效果佳。

附图说明

[0065] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0066] 图1a为本发明实施例提供的一种框架示意图;
[0067] 图1b为本发明实施例提供的另一种框架示意图;
[0068] 图1c为本发明实施例提供的基于车载单目相机的图像拼接方法的第一种流程示意图;
[0069] 图2为本发明实施例中车辆方位变化信息示意图;
[0070] 图3为本发明实施例中各帧图像跟踪点的位移曲线示意图;
[0071] 图4为本发明实施例中各帧图像拼接示意图;
[0072] 图5为本发明实施例提供的基于车载单目相机的图像拼接方法的第二种流程示意图;
[0073] 图6为本发明实施例提供的一种基于车载单目相机的图像拼接装置的结构示意图;
[0074] 图7为本发明实施例提供的一种电子设备的结构示意图;
[0075] 图8为本发明实施例提供的一种辅助驾驶系统的结构示意图。

具体实施方式

[0076] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0077] 本发明的术语解释如下:
[0078] 特征点,是指图像灰度值发生剧烈变化的点或者在图像边缘上曲率较大的点(即两个边缘的交点)。
[0079] 透视变换矩阵,是指将图片投影到一个新的视平面用到的矩阵。
[0080] 内参,是指与相机自身特性相关的参数,比如相机的焦距、像素大小、主点坐标、畸变系数等。
[0081] 外参,是指相机在世界坐标系中的参数,比如相机的位置、旋转方向等。
[0082] 视点变换,是指根据图像显示内容,改变视点位置和方向。
[0083] 俯视图像,是指一般相机安装时会与地面形成一定角度,因而地面上矩形的物体会变形为梯形或其他形状。根据相机安装角度、镜头畸变等参数,将一般相机所成像转化为从垂直方向向下观察地面的视角,所产生图像为俯视图像。如果俯视图像经过了畸变校正和视点变换,则俯视图像中地面上物体形状会与真实物体形状一致。
[0084] 欧拉变换,是指属于透视变换一种,只改变物体的方向和位置,不改变形状。
[0085] 本发明的发明构思如下:
[0086] 如图1a所示,本发明实施例提供的图像拼接装置包括两个模块:标定模块和拼接模块。标定模块为拼接模块提供查找表,流程上与拼接模块相互独立。
[0087] 预先在标定模块中建立查找表,这一过程一般在车场或者4S店进行,而且相机安装后可以只进行一次。该过程可以包括:
[0088] 相机采集鱼眼图像,标定模块利用相机内参对该鱼眼图像进行校正,并根据相机外参,通过视点变换,将鱼眼图像转换为俯视图像,得到俯视图像到鱼眼图像的查找表,该查找表也就是鱼眼图像与俯视图像中像素点的映射关系。
[0089] 之后,在车辆行驶过程中,相机实时采集鱼眼图像,并将采集的鱼眼图像输入拼接模块,拼接模块利用标定模块中建立的查找表,将该鱼眼图像转换为俯视图像,并对相邻帧俯视图像进行拼接处理,输出拼接图像。
[0090] 具体的,拼接模块对相邻帧俯视图像进行拼接处理的过程可以为逐帧拼接。比如,将当前帧俯视图像与上一帧俯视图像对应的拼接图像进行拼接,上一帧俯视图像对应的拼接图像中不仅包含上一帧俯视图像的信息,还包含上一帧俯视图像再之前的图像信息。这样,逐帧拼接的过程中,拼接图像中不断增加新的内容,展示内容更丰富,视觉效果更佳。
[0091] 下面对拼接模块进行详细介绍,如图1b所示,拼接模块可以包括以下子模块:俯视图像生成子模块,图像配准子模块和图像融合子模块。
[0092] 俯视图像生成子模块读取标定模块中的查找表,利用该查找表,将相机实时采集的鱼眼图像转换为俯视图像,将俯视图像输入至图像配准子模块。
[0093] 图像配准子模块通过在相邻帧俯视图像中进行特征点配准,得到透视变换矩阵。具体的,这一过程可以包括:特征点提取、特征点描述、特征点匹配、获得特征点对、计算透视变换矩阵。
[0094] 如果计算得到的透视变换矩阵与上一帧俯视图像拼接用到的透视变换矩阵偏差小于阈值,则图像配准子模块将计算得到的透视变换矩阵输入至图像融合子模块。
[0095] 如果计算得到的透视变换矩阵与上一帧俯视图像拼接用到的透视变换矩阵偏差不小于阈值,则图像配准子模块还需要对计算得到的透视变换矩阵进行修正。
[0096] 修正过程可以包括:
[0097] 取当前帧俯视图像中的一个或多个像素点作为跟踪点,获得跟踪点在拼接图像中的运动轨迹。举例来说,该运动轨迹的形成过程可以包括:获取到第一帧图像后,在第一帧图像的坐标系中,将第一帧图像的中心点指定为跟踪点,得到第一帧图像中跟踪点的坐标;获取到第二帧图像后,将该第一帧图像中跟踪点的坐标转换至第二帧图像的坐标系中,将第二帧图像的中心点也指定为跟踪点,得到第二帧图像中跟踪点的坐标,这两帧跟踪点的坐标形成一段运动轨迹;获取到第三帧图像后,将上述形成的一段运动轨迹转换至第三帧图像的坐标系中,将第三帧图像的中心点指定为跟踪点,得到第三帧图像中跟踪点的坐标,将该第三帧图像中跟踪点的坐标添加至该一段运动轨迹,等等,以下各帧图像的处理过程类似,不再赘述。这个例子中的图像均为俯视图像。
[0098] 利用该运动轨迹,预测车身的相对位移和相对转角。这里所说的相对位移和相对转角是指:当前帧俯视图像与下一帧俯视图像对应的时间段内,车身的相对位移和相对转角。
[0099] 基于该相对位移和相对转角,计算当前帧俯视图像与下一帧俯视图像之间的欧拉变换矩阵,该欧拉变换矩阵即为修正后的变换矩阵。
[0100] 图像配准子模块将该欧拉变换矩阵输入至图像融合模块。
[0101] 对于图像融合子模块来说,其输入可能为未修正的透视变换矩阵,也可能为修正后的欧拉变换矩阵。图像融合子模块利用这两种矩阵对相邻帧俯视图像进行拼接的方式类似,不再区分描述。
[0102] 如上所述,拼接过程可以为逐帧拼接:将当前帧俯视图像与上一帧俯视图像对应的拼接图像进行拼接,上一帧俯视图像对应的拼接图像中不仅包含上一帧俯视图像的信息,还包含上一帧俯视图像再之前的图像信息。图像配准子模块输出拼接图像。
[0103] 可见,应用上述方案,如果矩阵偏差较大,则基于车身的相对位移和相对转角对矩阵进行修正,利用修正后的矩阵进行图像拼接,不受特征点对的数量及质量影响,拼接效果佳。
[0104] 基于相同的发明构思,本发明实施例提供了一种基于车载单目相机的图像拼接方法、装置、设备及系统,该方法及装置可以应用于各种电子设备,比如手机、车辆中设置的图像处理设备、或者具有图像处理功能的车载相机,等等,具体不做限定。
[0105] 图1c为本发明实施例提供的基于车载单目相机的图像拼接方法的第一种流程示意图,包括:
[0106] S101:获取待拼接的当前帧图像。
[0107] 举例来说,如果执行主体为车载单目相机,则该相机可以将自身采集的当前帧图像作为待拼接的当前帧图像。如果执行主体为与车载单目相机通信连接的其他电子设备,则该电子设备可以获取相机采集的当前帧图像作为待拼接的当前帧图像。
[0108] 或者,也可以将相机采集的图像作为原始图像,将处理后的原始图像作为待拼接的当前帧图像。比如,假设车载单目相机采集的原始图像为鱼眼图像,则可以根据车载单目相机的参数,将所述鱼眼图像转换为俯视图像,将该俯视图像作为待拼接的当前帧图像。车载单目相机的参数预先通过标定获得。
[0109] 或者,也可以对原始图像、或者上述俯视图像进行畸变校正、或者其他优化处理,将处理后的图像作为待拼接的当前帧图像。
[0110] 本发明实施例可以对视频流进行拼接处理,将视频流中的每一帧作为待拼接的当前帧。
[0111] S102:获取第一采集时刻与第二采集时刻之间车辆的方位变化信息;其中,第一采集时刻为当前帧图像对应的采集时刻,第二采集时刻为当前帧图像的上一帧图像对应的采集时刻。
[0112] 方位变化信息可以包括位置变化信息和方向变化信息,比如可以为车辆在第一采集时刻与第二采集时刻之间的相对位移和相对转角。如图2所示,假设车辆在第一采集时刻的位置为P0,车辆在第二采集时刻的位置为P1,P1相对于P0在x方向的相对位移为△x,在y方向的相对位移为△y,P1相对于P0在x方向的相对转角为b。
[0113] 举例来说,可以通过车载GPS(Global Positioning System,全球定位系统),获取车辆在第一采集时刻及第二采集时刻的位置信息及驾驶方向,根据该位置信息及驾驶方向,计算车辆在第一采集时刻与第二采集时刻之间的相对位移和相对转角。
[0114] 或者,作为一种实施方式,S102可以包括:根据预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹,预测所述第一采集时刻与所述第二采集时刻之间跟踪点的运动轨迹;其中,跟踪点为每帧图像中指定位置的像素点;根据预测得到的运动轨迹,计算车辆在所述第一采集时刻与所述第二采集时刻之间的相对位移及相对转角。
[0115] 在本实施方式中,每帧图像中均指定一个跟踪点,该跟踪点可以为图像中固定位置的像素点,比如,可以为图像中的中心点,各跟踪点形成的运动轨迹也就是车辆的运动轨迹。在对当前帧图像进行处理之前确定的运动轨迹中不包含当前帧图像中的跟踪点,但是可以根据该运动轨迹的运动趋势,预测该运动轨迹的末端点与当前帧图像中的跟踪点的运动轨迹,该末端点也就是当前帧图像的上一帧图像中的跟踪点,因此,预测得到的运动轨迹也就是预测得到的第一采集时刻与第二采集时刻之间跟踪点的运动轨迹。
[0116] 预测得到的运动轨迹也可以作为车辆在第一采集时刻与第二采集时刻之间的运动轨迹,因此,可以根据预测得到的运动轨迹,计算车辆的相对位移及相对转角。
[0117] 参考图3,图3中的(a)表示跟踪点p在x方向的位移曲线,横轴表示图像的帧序号,纵轴表示x方向的位移数值;图3中的(b)表示跟踪点p在y方向的位移曲线,横轴表示图像的帧序号,纵轴表示y方向的位移数值;图3中的(c)表示跟踪点p的运动轨迹,横轴表示x方向的位移数值,纵轴表示y方向的位移数值。图3中的三张图均以图像左上角像素点的位置作为坐标原点的位置。
[0118] 假设跟踪点在当前帧的上一帧图像中的坐标值为(xc,yc),跟踪点在当前帧中的坐标值为(xc+1,yc+1),则车辆在x方向的相对位移dx=xc+1‑xc,车辆在y方向的相对位移dy=yc+1‑yc,车辆的相对转角α=actan(kc+1)‑actan(kc),其中,kc表示上一帧图像中跟踪点的斜率,kc+1表示当前帧图像中跟踪点的斜率。具体的,可以根据图3(c)中运动轨迹的一阶导数,计算得到kc和kc+1。dx也就相当于图2中的△x,dy也就相当于图2中的△y,α也就相当于图2中的b。
[0119] S103:根据该方位变化信息,构建该当前帧图像与该上一帧图像之间的第一变换矩阵。
[0120] 作为一种实施方式,可以根据上述得到的相对位移和相对转角,构建所述当前帧图像与所述上一帧图像之间的欧拉矩阵。
[0121] 如上所述,计算得到车辆在第一采集时刻与第二采集时刻之间的相对位移为dx和dy,相对转角为α,假设车辆在第二采集时刻的坐标值为(x0,y0),车辆在第一采集时刻的坐标值为(x1,y1),则可以得到:
[0122]
[0123] 根据欧拉矩阵可得:
[0124] 欧拉矩阵H为:
[0125]
[0126] S104:根据该第一变换矩阵,将该当前帧图像与该上一帧图像进行拼接。
[0127] 举例来说,可以通过该第一变换矩阵,将该上一帧图像投影到该当前帧图像所在平面,然后再将投影后的上一帧图像与该当前帧图像进行拼接。
[0128] 作为一种实施方式,可以结合图像插值算法,将该当前帧图像与该上一帧图像进行拼接。可以理解,如果两张图像中存在不相匹配的像素点,可以通过图像插值算法,利用该不相匹配像素点的相邻点像素值对该不相匹配的像素点进行插值处理。
[0129] 如上所述,本发明实施例可以对视频流进行拼接处理,将视频流中的每一帧图像作为待拼接的当前帧图像。假设当前帧图像为第N帧图像,也就是说,在S101之前,已经得到第N‑1帧图像与第N‑2帧图像的拼接图像,因此,S104中可以将第N帧图像与该拼接图像(第N‑1帧图像与第N‑2帧图像的拼接图像)进行拼接。这种情况下,拼接过程中,将第N帧图像与该拼接图像中包含的第N‑1帧图像进行拼接。
[0130] 作为一种实施方式,S104可以包括:根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像对应的拼接图像进行拼接,得到所述当前帧图像对应的拼接图像;其中,所述上一帧图像对应的拼接图像为:所述上一帧图像与所述上一帧图像之前的图像进行拼接得到的。
[0131] 延续上述例子,“上一帧图像对应的拼接图像”可以理解为上述第N‑1帧图像与第N‑2帧图像的拼接图像,“当前帧图像对应的拼接图像”可以理解为上述第N帧图像与第N‑1帧图像的拼接图像。
[0132] 本实施方式中,将当前帧图像与上一帧图像对应的拼接图像进行拼接,上一帧图像对应的拼接图像中不仅包含上一帧图像的信息,还包含上一帧图像再之前的图像信息。如图4所示,f1表示第一帧图像,f2表示第二帧图像,p1表示第一帧图像与第二帧图像拼接得到的图像,f3表示第三帧图像,p2表示p1与f3的拼接图像,等等。也就是说,本实施方式中,逐帧进行拼接的过程中,拼接图像中不断增加新的内容,展示内容更丰富,视觉效果更佳。
[0133] 现有方案中,通常采用特征点对配准的方式进行图像拼接,但是在一些场景中,比如景物变化较少的高速公路上,相邻帧图像之间内容类似,较难提取出准确的特征点对。可以理解,特征点对分别属于两帧图像,且特征点对对应于真实空间中的同一个点,而景物变化较少的高速公路上,相邻帧图像中很多像素点类似(如公路上的像素点),很难分辨出对应于真实空间中同一个点的特征点对,因此,容易出现特征点对误检测或者误匹配的情况。或者,如果车辆行驶速度较快,相邻帧图像之间存在的重叠区域很小,这种情况下,也很难提取到相邻帧图像中的特征点对。
[0134] 上述场景中,如果采用特征点对配准的方式进行图像拼接,拼接效果差,而利用本发明实施例,基于车辆的方位变化信息进行图像拼接,不受特征点对数量及质量影响,拼接效果佳。
[0135] 作为一种实施方式,在S102之前,可以先在所述当前帧图像及所述当前帧图像的上一帧图像中,提取特征点对;将所述特征点对进行配准,根据配准结果,计算所述当前帧图像与所述上一帧图像之间的第二变换矩阵;计算所述第二变换矩阵与预先确定的历史变换矩阵之间的偏差,所述历史变换矩阵为:所述上一帧图像与所述上一帧图像的再上一帧图像之间的变换矩阵;判断所述偏差是否大于预设阈值;如果大于,再执行S102,如果不大于,则根据所述第二变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。
[0136] 本实施方式中,将根据特征点对配准结果得到的变换矩阵称为第二变换矩阵,将根据车辆的方位变化信息得到的变换矩阵称为第一变换矩阵。
[0137] 本实施方式中,先利用特征点对配准的方式,计算得到当前帧图像与上一帧图像之间的第二变换矩阵,该第二变换矩阵可以为单应性矩阵。假设当前帧图像为第N帧图像,该第二变换矩阵也就是第N帧图像与第N‑1帧图像之间的变换矩阵,预先确定的历史变换矩阵也就是第N‑1帧图像与第N‑2帧图像之间的变换矩阵。如果该第二变换矩阵与历史变换矩阵之间的偏差较小,也就是说该第二变换矩阵满足偏差条件,则可以直接利用该第二变换矩阵,将第N帧图像与第N‑1帧图像进行拼接,不需要执行后续方案;如果该偏差较大,表示利用特征点对配准的方式进行拼接效果不佳,需要基于车辆的方位变化信息进行图像拼接,以提高拼接效果。
[0138] 第N‑1帧图像与第N‑2帧图像之间的历史变换矩阵为第一变换矩阵或者第二变换矩阵。类似的,可以先计算第N‑1帧图像与第N‑2帧图像之间的第二变换矩阵,如果该第二变换矩阵与第N‑2帧图像与第N‑3帧之间的变换矩阵之间的偏差较小(满足偏差条件),则第N‑1帧图像与第N‑2帧图像之间的历史变换矩阵为第二变换矩阵,反之,则为第一变换矩阵。
[0139] 如上所述,每帧图像中均指定一个跟踪点,各跟踪点形成的运动轨迹也就是车辆的运动轨迹,该运动轨迹的形成过程可以为:根据当前帧图像与当前帧图像的上一帧图像之间的变换矩阵,将预先确定的当前帧图像之前图像中的跟踪点的运动轨迹转换至当前帧图像的坐标系中;在当前帧图像的坐标系中,将当前帧图像中的跟踪点的位置添加至该运动轨迹。
[0140] 该当前帧图像与该上一帧图像之间的变换矩阵为第一变换矩阵或者第二变换矩阵。类似的,如果第二变换矩阵满足偏差条件,则为第二变换矩阵,如果不满足偏差条件,则为第一变换矩阵。
[0141] 举例来说,获取到第一帧图像后,在第一帧图像的坐标系中,将第一帧图像的中心点指定为跟踪点,得到第一帧图像中跟踪点的坐标;获取到第二帧图像后,将该第一帧图像中跟踪点的坐标转换至第二帧图像的坐标系中,将第二帧图像的中心点指定为跟踪点,得到第二帧图像中跟踪点的坐标,这两帧跟踪点的坐标形成一段运动轨迹;获取到第三帧图像后,将上述形成的一段运动轨迹转换至第三帧图像的坐标系中,将第三帧图像的中心点指定为跟踪点,得到第三帧图像中跟踪点的坐标,将该第三帧图像中跟踪点的坐标添加至该一段运动轨迹,等等,以下各帧图像的处理过程类似,不再赘述。
[0142] 应用本发明图1c所示实施例,获取当前帧图像对应的第一采集时刻与上一帧图像对应的第二采集时刻之间车辆的方位变化信息,根据该方位变化信息,构建当前帧图像与上一帧图像之间的第一变换矩阵;根据该第一变换矩阵,将当前帧图像与上一帧图像进行拼接。可见,本方案中,基于车辆的方位变化信息进行图像拼接,不受特征点对的数量及质量影响,拼接效果佳。
[0143] 图5为本发明实施例提供的基于车载单目相机的图像拼接方法的第二种流程示意图,包括:
[0144] S501:获取待拼接的当前帧图像。
[0145] 举例来说,如果执行主体为车载单目相机,则该相机可以将自身采集的当前帧图像作为待拼接的当前帧图像。如果执行主体为与车载单目相机通信连接的其他电子设备,则该电子设备可以获取相机采集的当前帧图像作为待拼接的当前帧图像。
[0146] 或者,也可以将相机采集的图像作为原始图像,将处理后的原始图像作为待拼接的当前帧图像。比如,假设车载单目相机采集的原始图像为鱼眼图像,则可以根据车载单目相机的参数,将所述鱼眼图像转换为俯视图像,作为待拼接的当前帧图像。车载单目相机的参数预先通过标定获得。
[0147] 或者,也可以对原始图像、或者上述俯视图像进行畸变校正、或者其他优化处理,将处理后的图像作为待拼接的当前帧图像。
[0148] S502:在该当前帧图像及该当前帧图像的上一帧图像中,提取特征点对。
[0149] S503:将该特征点对进行配准,根据配准结果,计算该当前帧图像与该上一帧图像之间的第二变换矩阵。该第二变换矩阵可以为单应性矩阵。
[0150] 本实施例中,将根据特征点对配准结果得到的变换矩阵称为第二变换矩阵,将根据车辆的方位变化信息得到的变换矩阵称为第一变换矩阵。
[0151] S504:计算该第二变换矩阵与预先确定的历史变换矩阵之间的偏差,该历史变换矩阵为:该上一帧图像与该上一帧图像的再上一帧图像之间的变换矩阵。
[0152] S505:判断该偏差是否大于预设阈值;如果不大于,执行S506‑S508,如果大于,执行S509‑S514。
[0153] S506:根据该第二变换矩阵,将该当前帧图像与该上一帧图像进行拼接。
[0154] S507:根据该第二变换矩阵,将预先确定的该当前帧图像之前图像中的跟踪点的运动轨迹转换至该当前帧图像的坐标系中。
[0155] 其中,跟踪点为每帧图像中指定位置的像素点;该运动轨迹用于获取车辆的方位变化信息。
[0156] S508:在该当前帧图像的坐标系中,将该当前帧图像中的跟踪点的位置添加至该运动轨迹。
[0157] S506与S507‑S508的执行顺序不作限定,可以先执行S506,后执行S507‑S508;也可以先执行S507‑S508,后执行S506;或者也可以同时执行S506与S507‑S508。如果先执行S506,后执行S507‑S508,则S507中当前帧图像的坐标系也就是拼接图像的坐标系。也就是说,将当前帧图像与上一帧图像进行拼接得到的拼接图像中,以当前帧图像为基准,拼接图像的坐标系也就是当前帧图像的坐标系。
[0158] S509:根据预先确定的该当前帧图像之前图像中的跟踪点的运动轨迹,预测第一采集时刻与第二采集时刻之间跟踪点的运动轨迹。其中,第一采集时刻为当前帧图像对应的采集时刻,第二采集时刻为当前帧图像的上一帧图像对应的采集时刻。
[0159] S510:根据预测得到的运动轨迹,计算车辆在该第一采集时刻与该第二采集时刻之间的相对位移及相对转角。
[0160] S511:根据该相对位移和该相对转角,构建该当前帧图像与该上一帧图像之间的第一变换矩阵,该第一变换矩阵可以为欧拉矩阵。
[0161] S512:根据该第一变换矩阵,将该当前帧图像与该上一帧图像进行拼接。
[0162] S513:根据该第一变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至该当前帧图像的坐标系中。
[0163] S514:在该当前帧图像的坐标系中,将该当前帧图像中的跟踪点的位置添加至该运动轨迹。
[0164] S512与S513‑S514的执行顺序不作限定,可以先执行S512,后执行S513‑S14;也可以先执行S513‑S14,后执行S512;或者也可以同时执行S512与S513‑S14。如果先执行S512,后执行S513‑S14,则S513中当前帧图像的坐标系也就是拼接图像的坐标系。也就是说,将当前帧图像与上一帧图像进行拼接得到的拼接图像中,以当前帧图像为基准,拼接图像的坐标系也就是当前帧图像的坐标系。
[0165] 举例来说,该运动轨迹的形成过程可以包括:获取到第一帧图像后,在第一帧图像的坐标系中,将第一帧图像的中心点指定为跟踪点,得到第一帧图像中跟踪点的坐标;获取到第二帧图像后,将该第一帧图像中跟踪点的坐标转换至第二帧图像的坐标系中,将第二帧图像的中心点也指定为跟踪点,得到第二帧图像中跟踪点的坐标,这两帧跟踪点的坐标形成一段运动轨迹;获取到第三帧图像后,将上述形成的一段运动轨迹转换至第三帧图像的坐标系中,将第三帧图像的中心点指定为跟踪点,得到第三帧图像中跟踪点的坐标,将该第三帧图像中跟踪点的坐标添加至该一段运动轨迹,等等,以下各帧图像的处理过程类似,不再赘述。
[0166] 作为一种实施方式,S506及S512中,将当前帧图像与上一帧图像对应的拼接图像进行拼接,上一帧图像对应的拼接图像中不仅包含上一帧图像的信息,还包含上一帧图像再之前的图像信息。如图4所示,f1表示第一帧图像,f2表示第二帧图像,p1表示第一帧图像与第二帧图像拼接得到的图像,f3表示第三帧图像,p2表示p1与f3的拼接图像,等等。也就是说,本实施方式中,逐帧进行拼接的过程中,拼接图像中不断增加新的内容,展示内容更丰富,视觉效果更佳。
[0167] 应用本发明图5所示实施例,获取当前帧图像对应的第一采集时刻与上一帧图像对应的第二采集时刻之间车辆的方位变化信息,根据该方位变化信息,构建当前帧图像与上一帧图像之间的第一变换矩阵;根据该第一变换矩阵,将当前帧图像与上一帧图像进行拼接。可见,本方案中,基于车辆的方位变化信息进行图像拼接,不受特征点对数量及质量影响,拼接效果佳。
[0168] 与上述方法实施例相对应,本发明实施例还提供一种基于车载单目相机的图像拼接装置,如图6所示,包括:
[0169] 第一获取模块601,用于获取待拼接的当前帧图像;
[0170] 第二获取模块602,用于获取第一采集时刻与第二采集时刻之间车辆的方位变化信息;其中,所述第一采集时刻为所述当前帧图像对应的采集时刻,所述第二采集时刻为所述当前帧图像的上一帧图像对应的采集时刻;
[0171] 构建模块603,用于根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵;
[0172] 第一拼接模块604,用于根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。
[0173] 作为一种实施方式,第二获取模块602,具体可以用于:
[0174] 根据预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹,预测所述第一采集时刻与所述第二采集时刻之间跟踪点的运动轨迹;其中,跟踪点为每帧图像中指定位置的像素点;
[0175] 根据预测得到的运动轨迹,计算车辆在所述第一采集时刻与所述第二采集时刻之间的相对位移及相对转角。
[0176] 作为一种实施方式,构建模块603,具体可以用于:
[0177] 根据所述相对位移和所述相对转角,构建所述当前帧图像与所述上一帧图像之间的欧拉矩阵。
[0178] 作为一种实施方式,所述装置还可以包括:提取模块、第一计算模块、第二计算模块、判断模块和第二拼接模块(图中未示出),其中,
[0179] 提取模块,用于在所述第二获取模块获取第一采集时刻与第二采集时刻之间车辆的方位变化信息之前,在所述当前帧图像及所述当前帧图像的上一帧图像中,提取特征点对;
[0180] 第一计算模块,用于将所述特征点对进行配准,根据配准结果,计算所述当前帧图像与所述上一帧图像之间的第二变换矩阵;
[0181] 第二计算模块,用于计算所述第二变换矩阵与预先确定的历史变换矩阵之间的偏差,所述历史变换矩阵为:所述上一帧图像与所述上一帧图像的再上一帧图像之间的变换矩阵;
[0182] 判断模块,用于判断所述偏差是否大于预设阈值;如果大于,触发所述第二获取模块,如果不大于,触发第二拼接模块;
[0183] 第二拼接模块,用于根据所述第二变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。
[0184] 作为一种实施方式,所述装置还可以包括:第一转换模块、第二转换模块和添加模块(图中未示出),其中,
[0185] 第一转换模块,用于在所述判断模块判定所述偏差不大于所述预设阈值的情况下,根据所述第二变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至所述当前帧图像的坐标系中,并触发添加模块;其中,跟踪点为每帧图像中指定位置的像素点;所述运动轨迹用于获取车辆的方位变化信息;
[0186] 第二转换模块,用于在所述判断模块判定所述偏差大于所述预设阈值的情况下,在所述构建模块根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵之后,根据所述第一变换矩阵,将预先确定的所述当前帧图像之前图像中的跟踪点的运动轨迹转换至所述当前帧图像的坐标系中,并触发添加模块;
[0187] 所述添加模块,用于在所述当前帧图像的坐标系中,将所述当前帧图像中的跟踪点的位置添加至所述运动轨迹。
[0188] 作为一种实施方式,第一拼接模块604,具体可以用于:
[0189] 根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像对应的拼接图像进行拼接,得到所述当前帧图像对应的拼接图像;其中,所述上一帧图像对应的拼接图像为:所述上一帧图像与所述上一帧图像之前的图像进行拼接得到的。
[0190] 作为一种实施方式,第一获取模块601,具体可以用于:
[0191] 获取车载单目相机采集的鱼眼图像;
[0192] 根据所述车载单目相机的参数,将所述鱼眼图像转换为俯视图像,并将所述俯视图像作为待拼接的所述当前帧图像。
[0193] 应用本发明图6所示实施例,获取当前帧图像对应的第一采集时刻与上一帧图像对应的第二采集时刻之间车辆的方位变化信息,根据该方位变化信息,构建当前帧图像与上一帧图像之间的第一变换矩阵;根据该第一变换矩阵,将当前帧图像与上一帧图像进行拼接。可见,本方案中,基于车辆的方位变化信息进行图像拼接,不受特征点对的数量及质量影响,拼接效果佳。
[0194] 图6所示实施例中的第一获取模块601可以理解为图1b中的俯视图像生成子模块,第二获取模块602和构建模块603可以存在于图1b中的图像配准子模块,第一拼接模块可以存在于图1b中的图像融合子模块。
[0195] 提取模块、第一计算模块、第二计算模块和判断模块可以存在于图1b中的图像配准子模块,第二拼接模块可以存在于图1b中的图像融合子模块。
[0196] 第一转换模块、第二转换模块和添加模块可以存在于图1b中的图像配准子模块。
[0197] 本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
[0198] 存储器703,用于存放计算机程序;
[0199] 处理器701,用于执行存储器703上所存放的程序时,实现上述任一种基于车载单目相机的图像拼接方法。
[0200] 上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0201] 通信接口用于上述电子设备与其他设备之间的通信。
[0202] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non‑Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0203] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0204] 本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种基于车载单目相机的图像拼接方法。
[0205] 本发明实施例还提供了一种辅助驾驶系统,如图8所示,包括:单目相机和处理设备;其中,
[0206] 所述单目相机,用于将采集到的每一当前帧图像发送至所述处理设备;
[0207] 所述处理设备,用于接收所述当前帧图像;获取第一采集时刻与第二采集时刻之间车辆的方位变化信息;其中,所述第一采集时刻为所述当前帧图像对应的采集时刻,所述第二采集时刻为所述当前帧图像的上一帧图像对应的采集时刻;根据所述方位变化信息,构建所述当前帧图像与所述上一帧图像之间的第一变换矩阵;根据所述第一变换矩阵,将所述当前帧图像与所述上一帧图像进行拼接。
[0208] 该处理设备中可以包括显示屏,该显示屏用于显示拼接得到的图像。或者,该系统中可以单独设置显示设备,该显示设备用于显示拼接得到的图像。或者,该单目相机、该处理设备及该显示设备也可以为同一台设备。
[0209] 该系统中的处理设备可以执行上述任一种基于车载单目相机的图像拼接方法。
[0210] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0211] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图6所示的基于车载单目相机的图像拼接装置实施例、图7所示的电子设备实施例、上述计算机可读存储介质实施例、以及图8所示的辅助驾驶系统实施例而言,由于其基本相似于图1a至图5所示的基于车载单目相机的图像拼接方法实施例,所以描述的比较简单,相关之处参见图
1a至图5所示的基于车载单目相机的图像拼接方法实施例的部分说明即可。
[0212] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。