GPU-accelerated high-resolution image stitching with better initial guess
- 作者:Chia-Ho Lin; Yuhsiang M. Tsai; Weichung Wang; Liang-Gee Chen
- 机构:台湾大学
- 年份:2018
- 期刊/会议:IEEE International Conference on Consumer Electronics (ICCE)
- 原文地址:GPU-accelerated high-resolution image stitching with better initial guess
高分辨率图像处理对于虚拟现实中的新兴应用至关重要。鲁棒性/准确性和速度之间的权衡对高分辨率图像拼接提出了挑战。本文通过使用 CUDA 工具包加速了最先进的图像拼接算法。我们还使用网格坐标作为求解翘曲函数的初始猜测,以进一步提高速度。实验结果表明,我们的实现实现了与最先进工作相当的质量,而我们的实现在高分辨率图像(3264×2448)上快了近 2 倍。
Ⅰ 介绍
动机:VR设备的普及以及分辨率地不断提高,高分辨图像处理在未来变得至关重要。用于创建虚拟环境的全景图像拼接是 VR 应用的必要图像处理技术。质量和速度之间的权衡是图像拼接算法的一个重要问题。
作者使用了用于特征匹配的 GPU 加速并行实现和用于求解扭曲函数的更好的初始猜测。实验结果表明,我们的实现在高分辨率图像上几乎比原始 C++ 实现快2倍(),但仍保留原始质量。
Ⅱ 相关工作
- AutoStitch:不能满足VR全景渲染;
- APAP:全局投影但允许局部非投影偏差以获得更好图像对齐;
这些方法的大量计算成本会增加运行时间,然而对于VR而言,图像的质量和拼接速度都很重要。
Ⅳ 方法
第一步:找到可能相邻的图像。给定张图像,这一步给所有图像生成SIFT描述子,然后计算它们描述子之间的距离。若距离小于阈值,系统根据匹配对的数量确定全景中最可能相邻的图像对。
第二步:基于网格的变形。应用APAP生成基于网格的扭曲函数,初始网格坐标和一系列匹配点对导致网格变形,最佳网格坐标由能量函数决定。
其中和分别表示对齐项和相似项。
第三步:确定最佳比例和旋转角度。系统首先估计相机内参、焦距、像素大小和偏移信息等。然后通过SVD方法求解得到3D旋转矩阵和旋转角度,用于网格优化。最后使用旋转矩阵对图像进行扭曲缝合产生全景图。
A. 剖析
为了确定拼接过程中哪个步骤比较耗时,采用Profiler分析,如下表所示。特征匹配、解翘曲函数、尺度和旋转选择消耗了大部分运行时间,作者专注于改善这一部分的加速实现。
B. GPU加速并行实现
当描述符的维度很高(通常大于 500)时,内存访问变得耗时。当对向量或矩阵执行算术运算时,GPU 可以有效地访问设备内存。为了充分利用 CUDA 中的并行性,我们将距离计算转换为基本的向量和矩阵运算。
图像和分别检测到和个特征点:,,每个特征点的维数为维。的第一列为,,。
两个特征点之间的距离为:
基本线性代数子程序 (BLAS) 是执行基本向量和矩阵运算,cuBLAS 库是 BLAS 的快速 GPU 加速实现。和可以由cuBLAS级别 2 例程并行计算,可以由cuBLAS级别 3 例程并行计算。
C. 更好初始猜测
作者先确定图像和重叠部分中的网格坐标,收集匹配点,在chen的方法中,使用初始化寻找使能量函数最小的,作者用进行初始化,使迭代次数更少,加速拟合。
Ⅳ 实验结果
作者在不同分辨率下分别实现了 31.6%、35.2%、41.7% 的运行时间改进。值得注意的是,输入图像尺寸越大,提出的加速技术就越有效。
Ⅴ 结论
人们认为,针对高分辨率图像的稳健且快速的图像拼接方法是 VR 中新兴应用的关键。在本文中,我们提出了用于特征匹配的 GPU 加速并行实现和更好的初始猜测来解决扭曲函数,以加快最先进的图像拼接方法。实验结果表明,我们的实现比原始实现快了近 2 倍,同时保留了高分辨率图像(3264×2448)上的原始全景质量。