论文部分内容阅读
全景视频是多个相机采集图像,经过相机标定、拼接、融合以及编码传输等一系列处理后实现用户在客户端查看比单个相机视角更广的视频的功能。近年来,全景视频在虚拟现实(VR)、安防领域成为热门应用,主要源自其较好的视觉体验和较大的信息量。全景相机的单帧传输对于普通设备来说是非常简单的,但是涉及到实时的视频传输就需要考虑其庞大的数据量和巨大的处理负担。其中,实时的视频拼接需要考虑上位机的处理能力,就目前的处理器性能而言,还不可能逐帧的自动解算拼接参数,需要对事先校准的拼接参数做持久化处理。其次,全景视频拼接为单帧的像素量极高,需要根据相机实际的解析质量进行适当的缩放,一方面是一定程度上降低处理器负载,一方面为实时传输降低性能门槛。目前,实现机内全景相机拼接的方案大多基于FPGA、专用影像处理器(ISP),然而全景相机本身技术更新快,产品寿命周期短,若走定制化路线,必然导致较高的研发难度和研发成本。目前,x86平台已经有面向手持设备的低功耗、低成本方案,若能够利用x86平台的强大指令集和GPU资源,实现FPGA、ISP相同的效果,则经济价值极大。本课题观察全景相机拼接技术的角度较新,从低成本、低功耗、实时机内处理的角度进行相机软硬件系统设计,在理论研究的基础上进行了大量的算法调研、硬件选型和性能优化工作。本课题对市面上存在的全景相机产品进行观察,认为多路相机实时机内拼接的推流产品成本较高,且标定功能较差。本课题对高质量、高计算量的影像拼接方案机型对比和研究,再与高计算速度,较低质量的算法进行特性的对比,最终选用基于GMS和ORB算法相辅的鲁棒拼接系统作为拼接时提供标定参数的自动拼接算法。之后对相机模型进行研究,围绕消除畸变的手段进行对比和研究,再对鱼眼镜头的非理想情况结合OpenCV库,实现了高成功率的相机畸变矫正功能。最后实现了基于RTSP推流的网络全景相机方案。后续,通过对全局流水线的性能优化并对推流的性能问题进行了简短有效的分析,并提出解决方案。本文重点在于结合理论,对实现低成本、低功耗的实时机内拼接方案进行理论和实践手段的阐述。旨在为基于x86低功耗视觉系统的开发提供新的思路。