logo资料库

鱼眼照片生成全景图算法的研究与实现.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
220 2007, 43( 6) Computer Engineering and Applications 计算机工程与应用 鱼眼照片生成全景图算法的研究与实现 程菊明 1, 刘连芳 2, 3, 陈 山 3 CHENG Ju- ming1, LIU Lian- fang2, 3, CHEN Shan3 1.许昌学院 计算机科学技术学院, 河南 许昌 461000 2.广西大学 计算机与电子信息学院, 南宁 530004 3.南宁平方软件公司, 南宁 530004 1.Dept. of Computer Science&Technology, College of Xuchang, Xuchang, Henan 461000, China 2.College of Computer&Electronics, Guangxi University, Nanning 530004, China 3.Company of Nanning Pingsoft, Nanning 530004, China E- mail: juming@zy165.com CHENG J u - ming, LIU Lian - fang, CHEN Shan.Resear ch and pr actice of fisheye- photo’s distor tion cor r ection .Computer Engineer ing and Applications, 2007, 43( 6) : 220- 222. Abstr act: First we compare the differences of two algorithms about distortion of fisheye - photo, then, in order fisheye- photo’s distorted photos, we improve the similar- curve based algorithm.At seams of the mosaiced- photo. Key wor ds: fisheye photo; sphere- anchor; longitude and latitude projection; image stitching to mosaic the the last, we give the methods of eliminate the 摘 要: 首先比较了校正鱼眼图片的两种算法所得结果的差异, 然后针对鱼眼展开图的拼接过程将基于特征曲线匹配算法加以改 进, 并在最后提出消除接缝的方法, 实验得到了较理想的结果。 关键词: 鱼眼照片; 球面定标; 经纬映射; 图像拼接 文章编号: 1002- 8331( 2007) 06- 0220- 03 文献标识码: A 中图分类号: TP391 1 引言 全 景 拼 图( Panorama Mosaic) 是 一 种 应 用 较 广 的 基 于 图 像 的绘制技术( Image Based Rendering) 。在虚拟现实领域中, 利 用全景图像表示实景可代替复杂的 3D 场景建模和绘制。通常 有三种全景 模 式: 圆 柱 形 全 景 模 式, 球 形 全 景 模 式 和 立 方 体 全 景模式。 柱面全景模式是讨论最多也是相对较成熟的技术, 但是在 这种投影模式下, 只能环顾四周, 不能向上或向下进行查看。采 用立方 体 全 景 模 式 和 球 形 全 景 模 式 可 以 得 到 更 多 的 观 察 自 由 度。但是对于立方体全景模式, 进行映射时需要对立方体的 6 个面分别映 射, 而 且 获 取 照 片 相 对 困 难, 另 外 在 映 射 时 不 仅 有 水平方 向 上 的 对 齐, 还 要 有 上 下 方 向 的 照 片 同 四 周 照 片 的 对 齐, 所以拼接起来也相对较困难。 目 前 还 有 一 种 方 法 是 采 用 视 角 为 183°的 鱼 眼 镜 头 拍 摄 , 这样只需两张鱼眼照片就可以获取整个场景的信息, 将这两张 照片处理后投射在球体或立方体上, 就可以得到在任意角度观 察的效果。这种方法用户使用起来简便快捷, 所以也是目前采 用较多 的 方 法 。 对 于 这 种 方 法 需 要 解 决 的 问 题 主 要 有 3 个 方 面: 首先需 要 将 得 到 的 鱼 眼 照 片 进 行 校 正 得 到 展 开 图; 其 次 要 对展开图进行拼接; 最后要对拼接的结果进行平滑处理。 下面第二部分比较两种鱼眼图片展开的算法, 第三部分讨 论鱼眼展开图的拼接的方法, 第四部分讲述了本文对拼接得到 的全景图进行平滑的方法。 2 鱼眼图片的展开方法 鱼 眼 照 片 是 一 张 圆 形 图 ( 如 图 1) , 不 能 直 接 用 于 拼 接 , 需 要 将 其 展 开 成 方 形 图 才 能 拼 接 在 一 起 。 所 以 首 先 需 要 将 其 展 开, 采用下面方法完成。 2.1 提取鱼眼圆形图 在将鱼眼图片展开为方形图之前, 首先需要提取出相应的 鱼眼图片轮廓, 采用判断灰度值跳变的方法完成。由于鱼眼照 片除掉中间的圆形以外其余部分都是黑色的, 所以可以采用下 面的步骤实现: ( 1) 在垂直方向上, 先从上至下扫描整幅鱼眼照片, 在每次 的扫描循环中记录发生第一次有灰度值跳变的点的坐标值, 记 录为圆 形 图 的 起 始 位 置, 得 到 一 组 数 据, 取 这 一 组 数 据 的 中 点 作为圆形图的最上面一点 T; ( 2) 从反向以与步骤( 1) 相同的方法进行扫描, 同样得到一 组点, 取中点作为圆形图的最下端一点 B; ( 3) 在 水 平 方 向 上 重 复 步 骤( 1) 和( 2) , 分 别 记 录 为 圆 形 图 基金项目: 广西科技厅科技攻关项目( No.0424009- 1) 。 作者简介: 程菊明( 1975- ) , 女, 讲师, 主要研究方向为虚拟现实技术; 刘连芳( 1946- ) , 女, 研究员, 主要从事数据库、中文信息搜索 、虚 拟 现 实 等 方 面的理论和应用技术研究; 陈山( 1979- ) , 男, 主要从事计算机应用技术研究与开发。
程菊明, 刘连芳, 陈 山: 鱼眼照片生成全景图算法的研究与实现 2007, 43( 6) 221 的最左一点 L 和最右一点 R; ( 4) 分 别 计 算 直 线 LR 和 TB 的 长 度 , 如 果 两 者 不 等 , 则 按 照它们的比值将原图进行压缩或拉伸, 使得圆形图变为标准的 圆形; ( 5) 将 标 准 的 圆 形 鱼 眼 图 像 按 照 第( 4) 步 得 到 的 直 径 和 圆 心把轮廓勾勒出来, 如图 1 所示。 2.2 校正算法 得到 标 准 圆 形 鱼 眼 图 后, 对 其 校 正 主 要 有 两 种 算 法, 一 种 是用球面坐标定位法, 另一种是经纬映射法[3]。 ( 1) 球面坐标定位法[1, 4]。 这 种 方 法 是 将 球 面 上 具 有 相 同 纬 度 的 点 映 射 为 相 同 的 垂 直直线, 原理如图 2 所示。图中的 k 点和 h 点映射到平面上位 于水平坐标为 χh 的垂直直线上。 ( 2) 经纬映射法[2, 3]。 假设在球面上的任意一点 P, 它的经度映射为矩形的水平 坐标, 纬度 映 射 为 矩 形 的 垂 直 坐 标, 这 样 整 个 球 面 映 射 得 到 的 平 面 图 是 一 张 2: 1 的 矩 形 图 , 半 球 面 就 是 一 张 方 形 图 , 如 图 3 所示。经纬映射法的步骤如下: x=f θcos # y=f θsin! # x′=f β ! y′=f( π/2- a sin θ=sin α×sin β ) # % % % % $ % % % % & ( 1) ( 2) ( 3) ①首先根据鱼眼的等距成像模型[5]计算鱼眼图片上任意一 点 ( x, y) 在 单 位 球 面 上 的 坐 标 , 它 们 的 关 系 如 式 ( 1) , 其 中 f 为 焦距, 在实践中取单位球半径作为 f 值, θ和 # 为球面坐标; " ( sin α) 2 ( sin β) 2 +( cos α) 2 sin ’=( sin α×sin β) / cos ’=cos α/ ②建 立 经 纬 映 射 图 上 的 坐 标 点 P( x′, y′) 和 它 在 球 面 上 对 应的球面坐标。可以用关系式( 2) 来计算, 其中 f 与式( 1) 相同, α和 β为 P 对应的球面坐标; ( sin α) 2 ( sin β) 2 +( cos α) 2 " ③最 后 以 球 面 坐 标 为 中 介 建 立 起 鱼 眼 照 片 和 经 纬 映 射 图 之间的关系。采用式( 3) 将( θ, ’) 和( α, β) 进行相互转换。它们 的关系如图 4 所示。 经过以上的变换, 就可以将鱼眼图片校正为方形图。 经过实验比较发现, 采用经纬映射方法得到的展开图的展 开程度明显比球面定标方法得到的展开图的展开程度高。它们 的结果比较如图 5 所示。 3 鱼眼展开图的拼接 将两幅 183°鱼眼照片按 照 上 述 方 法 分 别 展 开 后, 需 要 将 它们拼接在一起才能构成全景图。 将两幅有重叠区域的图片进行拼接的算法有很多, 它们大 体可分为两类, 即特征无关的方法和基于特征的方法。基于相 位相关度[7, 8]方法属于特征无关的方法, 它是基于互功率谱的相 位估计, 直接计算出这两幅图像简单的平移关系。基于特征匹 配方法比较多, 比如基于特征轮廓的匹配[6]、基于特征模板的匹 配以及基于特征曲线的匹配等等。 但是以上这些方法都是针对于柱面全景图而言的, 柱面全 景图两幅待拼接的图像重叠区域较大, 所以采用上述方法往往 能取得较好的效果, 但是对于两 幅 183°鱼 眼 图 片 展 开 图, 它 们 的 重 叠 区 域 非 常 小, 从 视 域 范 围 可 知, 每 幅 图 像 仅 有 两 侧 各 1.5°的范围属于重叠区域, 如果简 单 采 用 上 述 方 法 的 任 何 一 种 都不能得到希望的效果。所以在实践过程中将基于相似曲线的 匹配方法加以改进, 经过验证证明可以达到满意的效果。 3.1 基于相似曲线匹配的原理 设 有 两 幅 待 拼 接 的 左 右 图 像, 它 们 的 高 和 宽 相 同, 基 于 相 似曲线匹配的原理按照下面的步骤进行: ( 1) 对 每 一 幅 图 像 从 左 至 右 计 算 每 一 列 中 梯 度 最 大 的 点 , 将该点的坐标记录下来。梯度最大是指该点相对于其周围的点 而言灰度的跳变值最大。所以就要将彩色的图像先取出其每一 点的灰度值。灰度值的计算方法采用将 RGB 转换为 YIQ 色度 空间的方法, 其中 Y 表 示 亮 度 值 也 就 是 灰 度, 所 以 只 需 计 算 Y 的值即可。采用下面的公式完成: Y=0.299R+0.587G+0.114B 得 到 每 一 点 的 灰 度 值 之 后 就 可 以 计 算 对 应 于 该 点 的 梯 度 值了。梯度值的计算方法采用下式完成: Mag( i, j) = ( I( i+1, j) - I( i- 1, j) 2 ) 2 +( I( i, j+1) - I( i, j- 1) 2 ) 2 " 其 中 ( i, j) 表 示 图 中 任 意 一 点 的 坐 标 , Mag( i, j) 表 示 梯 度 值 , 这 样按照下述规则很容易求出每一列中梯度最大的点, 并将其坐
222 2007, 43( 6) Computer Engineering and Applications 计算机工程与应用 标值记录下来。 以需要对接缝处进行平滑处理。 求每列梯度的最大点时所遵循原则为: ①当该列中梯度最大的点有两个或两个以上时, 取距离图 像水平中线距离最近的点作为该列的梯度最大点; ②当两个点距离图像水平中线相等时, 取上方的点作为该 列梯度最大点。 ( 2) 按照上述方法, 将所求得的梯度最大点的坐标描出来, 可以在左右两幅图像上分别得到两条曲线。如果两幅图像具有 重叠的公共部分, 就意味着这两条曲线中的某一段具有很好的 ( 1) 首先消除明暗差异, 由于鱼眼展开图的重叠范围确定, 所以本文采用灰度渐变的方法。计算两幅图像接缝两侧的灰度 差值 IM=IR- IL, 然后从接缝开始向左向右均分该差值。 如 IM>0 表示左侧比右侧图像亮, 则左侧图像从接 缝 开 始 向左每一列灰 度 值 IL=IL- IM×i, i 从 1 到 0 渐 变; 右 侧 图 像 从 接 缝开始向右每一列灰度值 IR=IR+IM×i, i 从 0 到 1 渐变。 ( 2) 对 于 微 小 错 位 情 况 , 采 用 邻 域 平 均 法 对 图 像 进 行 平 滑 。使 用 3×3 邻 域 [9]进 行 平 滑 , 则 处 理 后 的 图 像 g( x, y) = 相似性。 比较 这 两 条 曲 线 , 从 中 找 出 最 相 似 的 一 段 曲 线, 这 段 相 似 曲线的起始位置即为得到的重叠区域的起始坐标。寻找最佳匹 配位置的方法如下: 在 步 骤 1 中 求 出 的 两 幅 图 像 的 最 大 梯 度 数 组 中 分 别 取 长 度为 M 的子数列 Sl 和 Sr, 它们的相似程度可以采用方差来计 算, 即: 1 8 8 i=1!f( xi, yi) 。 5 实验结果及结束语 M SimilM( Sl、Sr) = i=1![( Sl[i]- Sr[i]) - mean]2 M mean= i=1! Sl[i]- Sr[i] M SimilM( Sl、Sr) 越 小 则 Sl 和 Sr 越 相 似, 从 而 就 可 以 得 到 匹 配 的位置。 3.2 将匹配的图像重叠区域分段 从上述方法可知, 在寻找相似曲线的时候以一段固定长度 M 作 为 查 找 窗 口 , M 必 须 具 有 足 够 的 长 度 才 能 正 确 找 到 匹 配 曲 线 , 但 是 对 于 两 幅 183°鱼 眼 照 片 , 重 叠 的 区 域 很 小 , 所 以 不 能保证 M 能取到足够的长度, 采用以上方法误配的可能性非 常大。 通过实验发现, 如果按照正常的方法通过鱼眼镜头拍摄得 到的两张照 片 , 它 的 垂 直 偏 移 相 差 不 是 很 大, 所 以 本 文 提 出 采 用下面的改进方法: ( 1) 将 重 叠 区 域 分 成 若 干 段, 然 后 在 每 一 子 段 内 使 用 特 征 曲线匹配的 方 法 找 到 局 部 匹 配 位 置, 如 图 6 所 示, 这 样 就 得 到 n 对匹配位置, n 为分段的个数; ( 2) 然 后 在 以 上 n 对 匹 配 中 选 择 SimilM( Sl, Sr) 差 值 最 小 的 那一对作为两幅图像的最佳匹配位置。 4 接缝的平滑 两幅图像由于在拍摄时光照存在差异, 所以往往会出现明 暗不同, 另 外 对 于 相 接 的 部 分, 由 于 只 是 选 中 了 一 段 区 域 的 特 征线作为匹配位置, 所以在其它段还会有细微的错位发生, 所 图 7 是通过以上方法 将 两 幅 183°鱼 眼 照 片 展 开 然 后 拼 合 得到的全景图。从实验过程来看, 当拍摄照片垂直方向旋转角 较小时, 能 得 到 很 好 的 结 果, 但 是 如 果 在 拍 摄 时 出 现 两 幅 照 片 垂直方向有较大旋转时, 就会出现误配现象。所以对拍摄的经 度要有一定的要求。但是在实际应用中, 采用专门的设备往往 可以较好的避免垂直旋转量过大的情况出现。 ( 收稿日期: 2006 年 7 月) 参考文献: [1] Mundhenk T N, Michael J R, Liao Xiao- qun, et al.Techniques for fisheye lens calibration using a minimal number of measurements[C]// Proc of and Computer Vision Conference, Boston, Massachusetts, 2000( 11) : 8- 9. the SPIE Intelligent Robotics [2] 王俊杰, 徐小刚.鱼眼投影在虚拟实景中的应用研究[J].小型微型计 算机系统, 2004, 25( 2) : 287- 290. [3] 张茂军.虚拟现实系统[M].北京: 科学出版社, 2001. [4] 陈明伟, 徐丹.球面坐标定位校正鱼眼图片并合成全景图的方法[J]. 云南民族大学学报: 自然科学版, 2004, 13( 3) : 214- 217. [6] 钟力, 胡晓峰.重叠图像拼接算法[J].中国图象图形学报, 1998, 3( 5) : 367- 369. [7] Reddy B S, Chatterji B N.An FFT- based technique for transla- image registration[J].IEEE Trans tion, rotation and scale- invariant Image Processing, 1996, 5( 8) : 1266- 1271. [8] Xie Hong- jie.Automatic image registration based on FFT algorithm and IDL/ENVI[C]//International Conference on Remote Sensing and GIS/GPS2ICORG, 2001. [9] 傅德胜, 寿益禾.图形图像处理学[M].南京: 东南大学出版社, 2002.
分享到:
收藏