浅析车载 360度全景影像拼接技术
1.
2.
吴应桦 2.阎翔
1.河南工程学院工程训练中心  河南郑州  450000
2.中国移动通信集团设计院有限公司河南分公司  河南郑州  450000
摘要:360全景有必要安装吗伴随着我国经济的发展和工业的进步,人民生活水平近些年来得到了巨大的提高,汽车作为上个世纪的高档产品也进入了普通大众的生活。但是由于驾驶员视野的限制,停车以及行车安全方面的事故屡有发生,而车载360度全景影像系统则应运而生,为驾驶员提供周围的环境图像,来辅助驾驶员更安全的驾驶机动车。本文则简要的解析车载360度全景影像系统的图像拼接技术的过程以及要点。
关键词:全景影像;拼接算法;特征检测;
1.
2.
引言
改革开放以来我国取得了巨大的成就,工业和经济都取得了长足的进步,轿车也进入千家万户。根据公安部的数据,2021年我国机动车保有量达到3.78亿并仍旧保持高速持续增长,各类事故频发。在各类事故中,很大比例的事故的原因是因为驾驶员存在视觉盲区,导致了各种事故。
为了降低交通事故,在汽车安全方面很多车辆都配置有例如倒车影像、倒车雷达等设备,但是由于其不具备完全消除视觉盲区的功能,所以对于安全方面的提升有限,而360度全景影像系统则具有完全消除视觉盲区的功能,极大提高车辆使用的安全性。
1.
2.
发展历程
在发展的过程中,由于初期技术的不成熟,所以早期的全景影像技术完全不能称之为“系统”,就是单纯的多个摄像头的视频直接传输到多个屏幕上,这个时期称之为多视频显示阶段。
伴随着摄像头技术以及分屏技术的小型化发展,出现了合成的全景系统,通过四个广角摄像头和中央微电脑控制台构成,但是由于技术的不完善,拼接的图像包含着四条明显的黑线,把四个摄像头的图像隔开,这个阶段称之为有缝全景图像拼接系统。
最近几年以来,由于硬件的发展和技术的进步,通过图像校正、亮度校正和特征拼接三个过程,将车身周围环境转变为俯视鸟瞰视图,从而获得了现在的无缝的360度全景影像系统。
1.
2.
图像数据处理
车载360度全景影像系统,需要对车身周围的前后左右四个鱼眼摄像头采集的图像进行拼接来得到最终图像。但是由于鱼眼摄像头的特殊性,得到的视界虽然增大,但是图像畸变也很严重不自然;另外由于四个方向的摄像头方位不同,光线和光照也是不同,图像的明暗会有明显的分别,一方面影响特征的识别拼接,另一方面明暗不同造成的拼接效果也不尽如人意,所以畸变以及亮度的调整是必要的预处理环节,所以流程总体的来说包括以下五个环节:
3.1图像采集
而在实际应用中,鱼眼摄像头比普通的广角摄像头有着更大的视界,广泛应用于监控系统中。由于鱼眼摄像头内部结构由多个透镜组成,所以它采集到的图像原始数据造型更像一个球面模型,而不是一个平面。
3.2图像畸变校正
鱼眼摄像头内部的多重透镜结构决定了它的大视界是牺牲了图像的真实度得来的。它的畸变分主次两部分,其中主要的部分是径向畸变,它是由透镜内部入射光线的角度不同所带来的,
并且属于非线性变化,非线性意味着它不是均匀变化的,而是随着距离圆心的距离增大,弯曲失真的程度越高,所以在图像的边缘部分则会产生很严重的图像的失真;另一种次要的畸变是偏心畸变和切向畸变,这个是由于摄像头位置安装的误差和容错带来的,无法消除,只能尽量缩减。
鱼眼摄像头有着以下三个特性:首先,鱼眼摄像头的图像相对于轴旋转对称;其次鱼眼摄像头采集的图像数据,由于每条入射光线的入射角度都不同,所以每个图像像素点都有且只有一个最佳视角点;再次,承载鱼眼摄像头的摄像机和镜头是装配对齐的。所以由于这三个特性,所以我们对于图像的畸变校正则采用全向相机标定法来进行校正。
3.3图像亮度校正
采集的图像由于多种客观因素影响,亮度不尽相同,为了不让其对后期的拼接效果产生影响,所以图像的亮度也必须进行修正,使其亮度趋同。主流的算法主要有局部增益补偿和调整RGB三通道比例系数两种亮度校正算法,两种校正算法各有优缺点,局部增益补偿算法相对计算量小,耗时也相对更短;而调整RGB三通道比例系数的算法则在一些类似于傍晚或者光线昏暗的场景下有着更好的亮度显示。
3.4特征检测算法
经过两次校正预处理之后的图像可以进行下一步特征检测的步骤,首先先提取出来特征点,然后将特征点用数字的方式描述出来,将其数据化,最后将数据和另一幅图像进行匹配,符合条件的视为匹配成功,将其标记出来。而特征检测作为拼接的前置步骤,它的检测的结果对于拼接的效果有着直接影响,以达到能够完全适应外界车身周围复杂环境的目的。
Speeded Up Robust Features(下文简称SRUF算法),是对另一种特征提取算法Sift算法的改进,同样也是一种稳健的局部特征点检测和描述算法,还是一种鲁棒性很强的快速算法。它的主要流程如下:
1. 构建Hessian矩阵,生成特征点,用于提取
2. 构建尺度空间
3. 特征点定位
4. 特征点主方向分配
5. 生成特征点描述子
6. 特征点匹配
选取特征对照半径为6,则实现这个算法的代码如下:
for(int i = -6; i <= 6; ++i)
{
for(int j = -6; j <= 6; ++j)
{
if(i*i + j*j < 36)
{
gauss = static_cast(gauss25[id[i+6]][id[j+6]]);
resX[idx] = gauss * haarX(r+j*s, c+i*s, 4*s);
resY[idx] = gauss * haarY(r+j*s, c+i*s, 4*s);
Ang[idx] = getAngle(resX[idx], resY[idx]);
++idx;
}
}
}
3.5图像拼接
特征点选择出来并且匹配之后,就是最后一步,图像的拼接。图像配准融合算法是最后这一步的最重要步骤,因为它确保了重合的区域的对齐啮合度和非重合区域的过渡的平滑性,最终合成全景图像。这里则采用拉普拉斯金字塔融合算法,该算法先将图像分解,得到若干低通滤波图像,然后把一个空间带内的滤波图像融合,得到相应的拼接子图,最后把得到的若干个拼接子图融合为全景鸟瞰俯视图。这个方法较好的解决了拼接缝隙的问题,最终得到了
广泛的应用。