logo资料库

360环视摄像头鱼眼四摄像头拼接算法.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
Computer Engineering and Applications 计算机工程与应用 2017,53(23) 267 基于逆向投影的全景泊车系统设计与实现 赵三峰,谢 明,陈玉明 ZHAO Sanfeng, XIE Ming, CHEN Yuming 南京工业大学 电气工程与控制科学学院,南京 211816 College of Electrical Engineering and Control Science, Nanjing Technology University, Nanjing 211816, China ZHAO Sanfeng, XIE Ming, CHEN Yuming. Design and implementation of around view parking system based on reverse projection algorithm. Computer Engineering and Applications, 2017, 53(23):267-270. Abstract:The around view parking system uses 4 wide angle cameras installed in the car’s front, back, left and right to collect the images in real time, which are transmitted to the image processing equipment for correction, projection trans- formation and image composition on the screen to form a 360 degree panoramic view. The system uses processor HI3520D and video decoder NVP1918C as the core of hardware, and uses the fish-eye correction algorithm, projection transformation and reverse projection algorithm as the software core. The experimental results show that the around view parking system can achieve seamless and clear images in real-time display. Key words:around view parking; HI3520D; NVP1918C; reverse projection 摘 要:全景泊车系统利用安装在车身前后左右的 4 个广角摄像头实时采集周围的图像,并传送给图像处理设备进 行校正、俯视变换和图像合成,最后在显示屏上形成一幅 360°的全景俯视图。系统以处理器 HI3520D 和视频解码器 NVP1918C 为硬件核心,以鱼眼校正、投影变换和逆向投影算法为软件核心,最终实现实时显示无缝和清晰画面的 360°全景泊车影像系统。 关键词:全景泊车 ;HI3520D ;NVP1918C ;逆向投影 文献标志码:A 中图分类号:TP391.4 doi:10.3778/j.issn.1002-8331.1605-0373 泊车辅助系统主要分为两大类:一类是基于传感 器,另一类是基于视觉。目前使用比较广泛的是基于视 觉的泊车辅助系统,而 360°全景视觉泊车辅助系统是目 前最先进的辅助系统。全景视觉泊车辅助系统从根本 上消除了车辆周围的视觉盲点,帮助驾驶员更为直观地 停泊汽车。本系统的原理为:通过在车身前、后、左、右 安装四个广角摄像头,由于相机成像过程中存在非线性 畸变[1-2],因此需要进行畸变矫正[3-5],对畸变矫正后的图 像进行标定得到投影矩阵,转换图像视角为俯视图,最 后利用逆向投影算法合成一幅 360°全景图像。 逆向投影算法是全景泊车系统的核心,通过逆向投 影合成一幅无缝的、高清晰的图像。目前大多算法是基 于图像拼接技术[6-12],这种算法的计算过程过于复杂,拼 接过程也十分困难,远没有逆向投影简单有效。其原理 如图 1 所示。 Camera1 2 a r e m a C v1 3 a r e m a C v3 Camera4 v4 u1 Image1 u2 v2 Image2 u3 Image3 u4 Image4 kxj kyj k æ ç ççç è ö ÷ ÷÷÷ ø = Mi∗ uij vij 1 æ ç ç çç è ö ÷ ÷ ÷÷ ø i = 1,2,3,4 j 为图像中点的个数 Camera1 y 3 a r e m a C x 2 a r e m a C Camera4 图 1 全景泊车系统基本原理 1 系统方案与指标 系统主要由三部分组成:4 个水平视角为 175°的鱼 眼摄像头,一块图像采集卡,一个 7 英寸的 TFT 显示屏 幕。系统信息处理流程如图 2 所示。 基金项目:2015 年江苏省六大人才高峰项目(No.XXRJ-012)。 作者简介:赵三峰,男,硕士,研究方向:机器视觉;谢明,男,博士生导师,研究方向:机器视觉;陈玉明,男,讲师,研究方向:机器视觉。 收稿日期:2016-05-26 修回日期:2016-11-10 文章编号:1002-8331(2017)23-0267-04 CNKI 网络优先出版:2016-11-21, http://www.cnki.net/kcms/detail/11.2127.TP.20161121.2040.054.html 计算机工程与应用www.ceaj.org
268 2017,53(23) Computer Engineering and Applications 计算机工程与应用 显示设备 处理器 图 2 系统信息处理流程 系统的性能指标如表 1 所示。 表 1 系统的性能指标 组成部分 功能说明 技术指标 鱼眼摄像头 实时采集车身 12 V 供电;CVBS 格式的 NTSC 周围影像 制式模拟视频信号 图像采集卡 采集图像,输出 合成图像 TFT 显示屏 显示合成图像 12 V 供电;4 路 CVBS 格式的 NTSC 制式模拟视频信号; 视频接口均为标准 AV 接口; 1 路 VGA 接口 12 V 供电;CVBS 格式的模拟视频 信号输入;标准 AV 端子接口 TPF113 输出到标准 AV 接口。 (4)通信接口:可以通过 RS485 和以太网与 PC 通信。 (5)电源模块:板子的输入电压是 12 V 电源供电, 使用一片开关稳压芯片 AMS1117,为各芯片提供所需 的+1.5 V、+1.2 V、+3.3 V,其最大输出电流为 800 mA。 3 软件构架 本文使用 VS2013 开发环境,MFC 构建可视化界 面,opencv2.4.11 和雄迈公司的 NETSDK 作为外部库函 数,建立系统的软件构架。系统软件构成如图 4 所示。 图像采集 鱼眼校正 俯视变换 全景合成 全景显示 图 4 系统软件构成 4 算法流程 2 硬件系统的设计与实现 Hi3520D 是一款基于 ARM Cortex A9 处理器内核 以及视频硬件加速引擎的高性能通信媒体处理器,工 作频率达到 660 MHz,具有 32 bit、128 MB×16 的 DDR3 SDRAM 接口,片上集成了视频处理子系统 VPSS。主 板主要由视频采集模块、外围存储模块、视频输出接口、 通信接口和电源模块 5 部分。其结构如图 3 所示。 4 路摄像头分别采集 4 个方向的 4 张图片,然后对每 个方向的图片进行校正,俯视变换,最后将 4 张图片逆 向投影到合成区域,形成全景图像并显示。 4.1 鱼眼校正 通过研究普通摄像头和鱼眼摄像头的成像原理[13], 推理出鱼眼摄像头的校正公式,图 5 和图 6 分别是普通 摄像头和鱼眼摄像头的投影。 128 MB Flash TPF113 NVP1918C HI3520D 128 MB×16 DDR3 SDRAM POWER RS485 VGA 图 3 主板结构示意图 (1)视频采集模块:视频采集模块将 4 路 175°鱼眼 摄像头采集到的模拟信号通过标准 AV 接口输入到 4 路 视 频 编 码 芯 片 NVP1918C 中 ,NVP1918C 对 模 拟 信 号 进 行 AD 转 换 后 以 BT.656 格 式 传 输 到 HI3520D 中 , Hi3520D 再对数据进行编码,编码格式为 H.264。 (2)外 围 存 储 模 块 :板 上 采 用 三 星 公 司 的 1 片 K4B2G1646Q 芯片扩展 2 GB 容量的 DDR3 SDRM,用 于存放运行过程中的数据和程序,使用 1 片 Winbond 公 司的 25Q128FVTM 扩展 128 MB Flash 用于存放固定程 序和数据。 (3)视频输出接口:HI3520D 通过芯片内部集成的 视频处理子系统 VPSS 将处理后的图像经 DA 变换形成 CVBS 的 模 拟 视 频 信 号 ,然 后 通 过 视 频 滤 波 放 大 器 Rp = f ⋅ tan(θ) θ f 图 5 普通摄像头投影 Rf = 2f ⋅ sin(θ/2) θ f θ θ 图 6 鱼眼摄像头投影 图 5、6 中 f 表示摄像头的焦距,R 表示像素点在成 像平面的径向位置。该算法推倒公式来自文献[1],下 面直接写出最终的结果: xf = ì ï ïïï í yf = ï ïïï λ = ( î 2xp ⋅ sin(arctan(λ/2)) 2yp ⋅ sin(arctan(λ/2)) λ f λ p + y 2 p)) (x2 (1) 计算机工程与应用www.ceaj.org
赵三峰,谢 明,陈玉明:基于逆向投影的全景泊车系统设计与实现 2017,53(23) 269 其中,(xp,yp) 表示校正图像的坐标,(xf ,yf ) 表示鱼眼图 像的坐标。 此算法的效果如图 7 所示。 图 7 校正前后图像 4.2 俯视变换 本文采用直接线性变换(DLT)[14-15]来找到俯视变换 的投影矩阵,这种方法的优点在于不需要知道摄像头视 角等参数,只需要在图像坐标系下标定 4 对特征点就可 以计算出 8 个未知的参数,从而得到单应性矩阵,并利 用单应性矩阵完成俯视变换。 ui = 直接线性变换的公式如下: c00 xi + c01 yi + c02zi + c03 c20 xi + c21 yi + c22zi + 1 c10 xi + c11 yi + c12zi + c13 c20 xi + c21 yi + c22zi + 1 vi = (2) (3) 其中,(ui,vi) 表示图像坐标,(xi,yi,zi) 为物体空间坐标, c00,c01,⋯,c22 为未知参数。但是本文的物体选择的是路 面特征点,因此公式的 z = 0 ,简化后的二维 DLT 公式为: ui = vi = c00 xi + c01 yi + c03 c20 xi + c21 yi + 1 c10 xi + c11 yi + c13 c20 xi + c21 yi + 1 如果用矩阵的形式表示,如下: ROI = c00 c10 c20 æ ç ç çç è c01 c11 c21 c02 c12 1 ö ÷ ÷ ÷÷ ø (4) (5) (6) ROI 表示路面坐标到图像左边的变换矩阵,则 ROI-1 表示图像到路面的投影矩阵。 4.3 图像合成 本文的创新点就在于跳出了传统图像拼接的思维, 采用一种更加简单有效的算法来实现无缝拼接360°全景。 假设路面合成区域的大小为长 RL ,宽为 Rw ,单 位:mm。 Rw 的宽度方向平均分成 Mout 等份,RL 的高 度方向平均分成 Nout 等份,其中,任意一点坐标用 (iout,jout) 表示。如图 8 所示。 图中蓝色区域表示汽车的位置。设汽车中心为路 面的原点,则路面上任意一点 (iout,jout) 的坐标为 (x,y) , 那么它们的关系是: Y O X RL (iout,jout) Rw 图 8 离散化后的路面 x = iout Mout jout Nout y = ì ïï í ïï î ⋅ Rw - Rw 2 ⋅ RL - RL 2 (7) 其中,Mout 表示合成图像的宽度,单位:像素;Nout 表示 合成图像的高度,单位:像素;Rw 表示合成区域的宽 度 ,单 位 :mm;RL 表 示 合 成 区 域 的 长 度 ,单 位 :mm; (iout,jout) 表示图像的坐标,单位:像素;(x,y) 表示合成区 域路面的坐标,单位:mm。 下面判断路面上的点被哪个摄像头拍到,因此将路 面分成八个区域,如图 9 所示。 I II III (左前) (前) (右前) IV (左) 汽车 V (右) VI VII VIII (左后) (后) (右后) 图 9 路面的八个区域 图 9 中,II、IV、V 和 VII 四个区域只能被前,左, 右,后四个摄像头看到。 I、III、VI 和 VIII 为两个摄像 头的交叉区域,可能被两个摄像头看到,因此需要判断 交叉区域被哪个摄像头采集到,四个交叉区域的判别方 法相同,因此以区域 I 为例描述如下: (1)取区域 I 内任意一点 (iout,jout) ,计算其路面坐标 (x,y) 。 (2)假定该点可以被前摄像头采集到,通过与前摄 像头的投影矩阵 ROIfront 相乘,便可以得到该点在前摄 像 头 的 像 素 坐 标 (u,v) ,如 果 0 ≤ u ≤ umax ,且 0 ≤ v ≤ vmax ,则该点可以被前摄像头采集到,令该点标记 IDfront 为 1。同理,如果也可以在左摄像头被采集到,令该点标 记 IDleft 为 1。 (3)如果 IDfront = 1,IDleft = 0 ,取该点在前摄像头像 计算机工程与应用www.ceaj.org
270 2017,53(23) Computer Engineering and Applications 计算机工程与应用 素的颜色值,并填充到 (iout,jout) 所在的合成区域;如果 IDfront = 0,IDleft = 1 ,取该点在左摄像头像素的颜色值, 并 填 充 到 (iout,jout) 所 在 的 合 成 区 域 ;如 果 IDfront = 1, IDleft = 1 ,取该点在前和左摄像头的颜色值的均值,并填 充到 (iout,jout) 所在的合成区域。 当合成区域所有像素点的颜色都被对应图像颜色 值填充以后,合成图像就完成了。当然如果出现颜色值 为 0 的点,利用最近邻准则填充。 5 系统测试与效果 以童车作为实验平台,分别在童车的四周安装摄像 头,根据实验表明,前后摄像头的安装角度与垂直地面 小于 45°才能达到最好的效果,左右摄像头尽量垂直地 面安装。为了避免相机抖动引起合成效果扭曲,安装时 应尽量固定好摄像机。童车安装摄像头如图 10 所示。 图 10 摄像头安装 实验效果如图 11 所示。 图 11 合成效果预览 观察效果图,全景图像基本还原了设定的合成区域 图像,这里特意在两个相连的区域放上一根绳子,验证 合成区域的交界处是否有缝隙,结果绳子在交界处没有 发生断裂,达到了预期的效果。 6 结束语 相比,在算法复杂度上大大减少,更加容易应用到实际 当中去。通过观察合成效果,虽然在较远处有些图像畸 变,但是近处的效果已经符合设计要求。实验过程中遇 到的各种问题,通过调试已得到修正。但是还是有不足 之处,在标定的过程中,本实验是通过人工手动标定特 征点的,因此会有人为因素的误差,这个会导致合成区 域的交界处会有缝隙或者偏差,在接下来的研究中,将 改进标定的方法,采用自标定的方式来克服这种人为 误差。 参考文献: [1] 朱铮涛,黎绍发 . 镜头畸变及其校正技术[J]. 光学技术, 2005,31(1):136-138. [2] 贾洪涛,朱元昌 . 摄像机图像畸变纠正技术[J]. 电子测量与 仪器学报,2005,19(3):46-49. [3] 张伟 . 鱼眼图像校正算法研究[D]. 南京:南京邮电大学, 2011. [4] 邢立新 . 鱼眼镜头视频图像实时校正技术研究[D]. 哈尔 滨:黑龙江大学,2014. [5] Dhane P,Kutty K.A generic non-linear method for fish eye correction[J].International Journal of Computer Ap- plications,2012,51(10):58-65. [6] 周猛 . 基于 DaVinciTM 的 360°全景泊车影像系统的设计与 实现[J]. 电子技术应用,2014,40(10):20-22. [7] 张聪 . 基于鱼眼镜头的车载全景环视系统[D]. 杭州:浙江 大学,2015. [8] 廖国品 . 全景视觉泊车辅助系统算法研究[D]. 广州:华南 理工大学,2013. [9] 方财义 . 全景泊车系统及图像拼接技术的研究[J]. 汽车零 部件,2012(11):103-105. [10] 王娟 . 图像拼接技术综述[J]. 计算机应用研究,2008(7): 26-29. [11] 周圣文 . 基于 SIFT 算法的全景泊车辅助系统研究[D]. 安 徽芜湖:安徽工程大学,2015. [12] Wu Z.Expansion of the visual angle of a car rear- view image via an image mosaic algorithm[J].Optical Engineering,2015,54(5). [13] Altera Corporation.A flexible architecture for fisheye cor- rection in automotive rear-view cameras[R].White Paper, 2008. [14] 王东红,罗均 . 摄像机标定中的直接线性变换法[J]. 机械 与电子,2006(9):9-11. [15] 葛宝臻,李晓洁 . 基于共面点直接线性变换的摄像机畸变 基于逆向投影的全景合成算法与传统的图像拼接 校正[J]. 中国激光,2010(2):488-494. 计算机工程与应用www.ceaj.org
分享到:
收藏