全景视频拼接关键技术

一、原理介绍

图像拼接(Image Stitching)是一种利用实景图像组成全景空间的技术,它将多幅图像拼接成一幅大尺度图像或360度全景图,图像拼接技术涉及到计算机视觉、计算机图形学、数字图像处理以及一些数学工具等技术。图像拼接其基本步骤主要包括以下几个方面:摄相机的标定、传感器图像畸变校正、图像的投影变换、匹配点选取、全景图像拼接(融合),以及亮度与颜色的均衡处理等,以下对各个步骤进行分析。

摄相机标定

由于安装设计,以及摄相机之间的差异,会造成视频图像之间有缩放(镜头焦距不一致造成)、倾斜(垂直旋转)、方位角差异(水平旋转),因此物理的差异需要预先校准,得到一致性好的图像,便于后续图像拼接。

相机的运动方式与成像结果之间的关系见下图。

图1:相机的运动方式与成像结果之间的关系

图像坐标变换

在实际应用中,全景图像的获得往往需要摄像机以不同的位置排列和不同的倾角拍摄。例如由于机载或车载特性,相机的排列方式不尽相同,不能保证相机在同一面上,如柱面投影不一定在同一个柱面上,平面投影不一定在同一平面上;另外为了避免出现盲区,相机拍摄的时候往往会向下倾斜一定角度。这些情况比较常见,而且容易被忽略,直接投影再拼接效果较差。因而有必要在所有图像投影到某个柱面(或平面)之前,需要根据相机的位置信息和角度信息来获得坐标变换后的图像。

理论上只要满足静止三维图像或者平面场景的两个条件中的任何一个,两幅图像的对应关系就可以用投影变换矩阵表示,换句话说只要满足这其中任何一个条件,一个相机拍摄的图像可以通过坐标变换表示为另一个虚拟相机拍摄的图像。

一般情况下8参数的透视投影变换最适合描述图像之间的坐标关系,其中8参数的矩阵为[m0,m1,m2;m3,m4,m5; m6,m7,1];各参数对应的相机运动表示如下:

如图2显示的是相机向下倾斜一定角度拍摄图像,这个角度与m6和m7具有对应关系,如果要获得校正图像,只需要对8参数矩阵求逆后进行坐标变换。

(a) 原始图像

图2:(a) 原始图像;(b)x方向形变效果;(c)倾斜校正后效果

图像畸变校正

由于制造、安装、工艺等原因,镜头存在着各种畸变。为了提高摄像机拼接的精度,在进行图像拼接的时候必须考虑成像镜头的畸变。一般畸变分为内部畸变和外部畸变,内部畸变是由于摄影本身的构造为起因的畸变,外部畸变为投影方式的几何因素起因的畸变。镜头畸变属于内部畸变,由镜头产生的畸变一般可分为径向畸变和切向畸变两类。径向畸变就是集合光学中的畸变像差,主要是由于镜头的径向曲率不同而造成的,有桶形畸变和枕型畸变两种。切向畸变通常被人为是由于镜头透镜组的光学中心不共线引起的,包括有各种生成误差和装配误差等。一般人为,光学系统成像过程当中,径向畸变是导致图像畸变的主要因素。径向畸变导致图像内直线成弯曲的像,且越靠近边缘这种效果越明显。根据径向畸变产生的机理,对视频图像进行校正。效果如图3(b)所示,经过校正的图像,其有效像素区域缩小,一般可通过电子放大的方式进行校正,如图3(c)所示。

(b)(c)

图3:(a)为原始采集图像;(b)为经过径向失真校正的图像;(c)为经过放大的图像

图像投影变换

由于每幅图像是相机在不同角度下拍摄得到的,所以他们并不在同一投影平面上,如果对重叠的图像直接进行无缝拼接,会破坏实际景物的视觉一致性。所以需要先对图像进行投影变换,再进行拼接。一般有平面投影、柱面投影、立方体投影和球面投影等。

平面投影就是以序列图像中的一幅图像的坐标系为基准,将其图像都投影变换到这个基准坐标系中,使相邻图像的重叠区对齐,称由此形成的拼接为平面投影拼接;柱面投影是指采集到的图像数据重投影到一个以相机焦距为半径的柱面,在柱面上进行全景图的投影拼接;球面投影是模拟人眼观察的特性,将图像信息通过透视变换投影到眼球部分,构造成一个观察的球面;立方体投影是为了解决球面影射中存在的数据不宜存储的缺点,而发展出来的一种投影拼接方式,它适合于计算机生成图像,但对实景拍摄的图像则比较困难。如下图4所示,图像拼接处理流程示意图。

图4:图像拼接处理流程示意图

匹配点选取与标定

由于特征点的方法较容易处理图像之间旋转、仿射、透视等变换关系,因而经常被使用,特征点包括图像的角点以及相对于其领域表现出某种奇异性的兴趣点。Harris等提出了一种角点检测算法,该算法是公认的比较好的角点检测算法,具有刚性变换不变性,并在一定程度上具有仿射变换不变性,但该算法不具有缩放变换不变性。针对这样的缺点,Lowe提出了具有缩放不变性的SIFT特征点。

图5 两幅图像中标定的匹配特征点

如上图5所示,图像的拼接需要在图像序列中找到有效的特征匹配点。图像的特征点寻找直接影响图像拼接的精度和效率。对于图像序列,如果特征点个数≥4个,则很容易自动标定图像匹配点;如果特征点很少,图像拼接往往不能取得较为理想的效果。

图像拼接融合

图像拼接的关键两步是:配准(registration)和融合(blending)。配准的目的是根据几何运动模型,将图像注册到同一个坐标系中;融合则是将配准后的图像合成为一张大的拼接图像。

在多幅图像配准的过程中,采用的几何运动模型主要有:平移模型、相似性模型、仿射模型和透视模型。

图像的平移模型是指图像仅在两维空间发生了 方向和 方向的位移,如果摄像机仅仅发生了平移运动,则可以采用平移模型。图像的相似性模型是指摄像机本身除了平移运动外还可能发生旋转运动,同时,在存在场景的缩放时,还可以利用缩放因子 多缩放运动进行描述,因此,当图像可能发生平移、旋转、缩放运动时,可以采用相似性模型。图像的仿射模型是一个6参数的变换模型,即具有平行线变换成平行线,有限点映射到有限点的一般特性,具体表现可以是各个方向尺度变换系数一致的均匀尺度变换或变换系数不一致的非均与尺度变换及剪切变换等,可以描述平移运动、旋转运动以及小范围的缩放和变形。图像的透视模型是具有8个参数的变换模型,可以完美地表述各种表换,是一种最为精确变换模型。

图像融合技术一般可分为非多分辨率技术和多分辨率技术两类。在非多分辨率技术中主要有平均值法、帽子函数法、加权平均法和中值滤波法等。多分辨率技术主要有高斯金字塔、拉普拉斯金字塔、对比度金字塔,梯度金字塔和小波等。

(e)

图6 柱面全景图像拼接

(a)-(d)为四幅不同视角的图像,(e)为最终拼接得到的柱面全景图像

亮度与颜色的均衡处理

因为相机和光照强度的差异,会造成一幅图像内部,以及图像之间亮度的不均匀,拼接后的图像会出现明暗交替,这样给观察造成极大的不便。

亮度与颜色均衡处理,通常的处理方式是通过相机的光照模型,校正一幅图像内部的光照不均匀性,然后通过相邻两幅图像重叠区域之间的关系,建立相邻两幅图像之间直方图映射表,通过映射表对两幅图像做整体的映射变换,最终达到整体的亮度和颜色的一致性。

二、国内外现状

全景拼接侦察系统在国外已经有了较早的研究,早在1992年,剑桥大学的L.G.Brown就对图像拼接的核心技术进行总结,1996年微软研究院的Richard Szeliski提出基于运动的全景拼接模型。Szeliski后来又相继发表了若干这方面论文,2000年Shmuel Peleg提出改进方法,根据相机的运动方式自适应选择拼接模型,2003年M.Brown发表了SIFT特征进行图像拼接的方法,但计算量很大,2007年Seong Jong Ha提出移动相机系统的全景拼接方法,不仅保证效果,而且运算速度也不错。

在国内方面,也有不少高校科研机构对视频拼接技术及应用进行研究,其中,上海凯视力成信息科技有限公司研发的“全景视觉态势感知系统” 最具代表性,该系统功能完善、技术先进、性能可靠,并已成功应用于多种车型。

上海凯视力成信息科技有限公司全景视觉态势感知系统——PVS9112型是实时的全固态无机械运动的高清360度凝视视频系统,系统提供实时的连续覆盖整个战场的全运动视频,人机交互界面直观快捷。系统适应于恶劣环境,支持彩色和红外传感器,可以黑天和白天全天候工作,实时地图像处理和高清视频的显示,显示界面同时提供360度全景窗口和感兴趣区域的高清画面。系统提供开发式结构,便于同其它系统如雷达等集成到一起,以获得一个完整的态势理解。

传感头:

图8 几种传感头

图形界面:

图9 PVS9112图形界面

特点:

  • 实时的360度视频全景显示,便于对态势的感知理解、安全监视、目标探测。从而提高平台的攻击能力和安全防护性。

  • 支持高清彩色和红外传感器。日夜均可工作。

  • 显示全局拼接画面、局部感兴趣。

  • 图形交互界面。并支持多种人机交互接口,支持触摸屏、鼠标、键盘、自定义按键、操纵摇杆等,可无缝接入已有系统。

  • 无运动部件,高可靠性。

  • 适应车船飞机等恶劣的工作环境。

可选特征:

  • 目标检测与告警

  • 自动多目标跟踪

  • 视频记录和回放

  • 可选支持PTZ长距离光电探测系统,在全景视频上可以通过触摸的方式控制PTZ的快速转动到指定的位置,克服了传统操控PTZ方式的缺陷,使得PTZ摄像机的功效大大提高。

  • 图像透雾增强算法

  • 电子稳像算法

开放式体形架构:

二、应用

从图像拼接的实际应用来看,主要有大型航空照片,卫星图像拼接,车载系统监控,虚拟场景实现,视频压缩;很多资料上都提及车载系统的拼接,这种拼接侦查系统可以用于不同车辆,如反恐、安全监视、侦察、巡逻和警车等;系统给操作者提供车辆周围的实时全景图像,使之能够感知全面而丰富的态势,操纵车辆的同时还可以有效将自己保护在车内,不用通过车辆的挡风玻璃就可以实时操控。全景图像极大地增强了用户的视觉感知系统,使其在特种车辆、军用以及民用方面都拥有广阔的市场前景。与传统的多画面监控相比,全景拼接画面更符合人眼观察,极大地提高了侦察的准确性。但很少提及机载系统,因此,机载方面只要设计合理,应用前景是巨大的。

应用实例:

方式一:基本模式

摄像机组 + 一或两个终端,支持记录或不记录,每个终端所显示内容可以不同。

方式二:增强模式

摄像机组 + 2以上终端,可通过GigE网络来扩展连接其他设备,如视频记录仪等。 采集和预处理模块,实现对视频信号的捕获,并对摄像机组进行管理,如PTZ控制等。在这一层,实现对不同路数、不同接口形式的摄像机的支持。并作必要的预处理功能,如图像的缩放平移投影变换、数据压缩等,为后续处理器准备好数据。模块还通过多个GigE网络,将视频数据分发给多个不同的处理器或其它设备,如视频记录仪等。这种组成结构,可适应不同应用需求:如不同的摄像机种类和数量,终端处理功能要求不同等等。

关于视频拼接产品的介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

相关类以及常用方法

1、system:(系统相关类) 常用方法: a) : system.arraycopy(制定数组,开始复制的位置,目标数组,开始粘贴的位置,需要复制的长度) 。 将指定源数组中的数组从指定位置复制到目标数组的指定位…

2021-11-15

本文将重点围绕国产CPU的发展历程与当前产业链各领军企业的布局情况作详尽解读(并包含特大号独家整理的最新进展),具体如下: 1、国产CPU发展历程回溯 2、飞腾:PK生态的主导者 3、鲲鹏:快速崛起的领导者 …

关于在ubuntu下配置AMD显卡驱动的总结

同样先卸载先前版本 代码:sudo sh /usr/share/ati/fglrx-uninstall.sh代码:sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*重启 代码:sudo reboot下载驱动,右边直接有ubuntu32位和64位驱动链接:http://support.amd.com/en-us/do…

计算机结构简图

北桥,南桥是主板上芯片组中最重要的两块了.它们都是总线控制器.他们是总线控制芯片.相对的来讲,北桥要比南桥更加重要.北桥连接系统总线,担负着cpu访问内存的重任.同时连接这AGP插口,控制PCI总线,割断了系统总线和局部总线,在这一段上速度是最快的.南桥不和CPU连接通常用来作I/…

Servlet 与 Ajax 交互一直报status=parsererror

Servlet 与 Ajax 交互一直报statusparsererror 原因:servlet 返回的数据不是 Json 格式 1、JS代码为: 1 var jsonStr {clusterNum:2,iterationNum:3,runTimes:4};2 $.ajax({3 type: "post",4 //http://172.2…

25LINQ拾遗及实例

投影 □ 遍历数组索引,Select获取 int[] indexes {0, 2}; string[] strs {"a", "b", "c", "d"}; var result from i in indexes select strs[i]; foreach (string str in result) { Console.Write(str " &quo…

国产CPU的6大品牌,3大路线对比

这些年来,中国最想发展的科技产品是什么?那必须是芯片,特别是2018年中兴事件、2019年华为事件之后,国内的芯片产业就彻底地火爆了起来。 按照数据显示,截止至2020年10月份,国内已经有27万家芯片企业&#…

龙芯与飞腾roadmap

飞腾roadmap 龙芯roadmap 龙芯系列处理器芯片是龙芯中科技术有限公司研发的具有自主知识产权的处理器芯片,产品以32位和64位单核及多核CPU/SOC为主,主要面向国家安全、高端嵌入式、个人电脑、服务器和高性能机等应用。产品线包括龙芯1号小CPU、龙芯2号中…

BZOJ 2440 完全平方数(莫比乌斯-容斥原理)

题目链接:http://61.187.179.132/JudgeOnline/problem.php?id2440 题意:给定K。求不是完全平方数(这里1不算完全平方数)的倍数的数字组成的数字集合S中第K小的数字是多少? 思路:首先,答案不超过…

在Eclipse中添加JDK源码包

一直有这想要在Eclipse直接阅读JDK的需求,之前用的都是反编译的,由于我用的反编译的插件去掉了源码内容的注释,所以想直接导入JDK源码包: 详细步骤: 打开Eclipse, 菜单栏 选择 Window 下拉种选取 Preferences 窗口. 以…

南桥芯片与北桥芯片

什么是芯片组 芯片组(英语:Chipset)是一组共同工作的集成电路“芯片”,并作为一个产品销售。它负责将计算机的微处理器和计算机的其他部分相连接,是决定主板级别的重要部件。以往,芯片组由多颗芯片组成&am…

spark 应用场景2-身高统计

原文引自:http://blog.csdn.net/fengzhimohan/article/details/78564610 a. 案例描述 本案例假设我们需要对某个省的人口 (10万) 性别还有身高进行统计,需要计算出男女人数,男性中的最高和最低身高,以及女性中的最高和最低身高。本…

React学习小结(二)

一、组件的嵌套 1 <!DOCTYPE html>2 <html>3 <head>4 <meta charset"UTF-8">5 <title></title>6 <script src"react.min.js" type"text/javascript" charset"utf-8"></script>7 <…

PCIE2.0/PCIE3.0/PCIE4.0/PCIE5.0接口的带宽、速率计算

一、PCIE接口速率&#xff1a; 二、PCIE相关概念&#xff1a; 传输速率为每秒传输量GT/s&#xff0c;而不是每秒位数Gbps&#xff0c;因为传输量包括不提供额外吞吐量的开销位&#xff1b; 比如 PCIe 1.x和PCIe 2.x使用8b / 10b编码方案&#xff0c;导致占用了20% &#xff08…

hql语法

HQL查询&#xff1a;Criteria查询对查询条件进行了面向对象封装&#xff0c;符合编程人员的思维方式&#xff0c;不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性&#xff0c;因此Hibernate将HQL查询方式立为官方推荐的标准查询方式&#xff0c;HQL查…

InfiniBand简介

一&#xff0e;什么是infiniband InfiniBand架构是一种支持多并发链接的“转换线缆”技术&#xff0c;它是新一代服务器硬件平台的I/O标准。由于它具有高带宽、低延时、 高可扩展性的特点&#xff0c;它非常适用于服务器与服务器&#xff08;比如复制&#xff0c;分布式工作等…

阿里云Aliplayer高级功能介绍(一):视频截图

基本介绍H5 Video是不提供截图的API的&#xff0c; 视频截图需要借助Canvas&#xff0c;通过Canvas提供的drawImage方法&#xff0c;把Video的当前画面渲染到画布上&#xff0c; 最终通过toDataURL方法可以导出图片的base64编码&#xff0c;基本就完成了图片截图的功能。 功能实…

分页

1.首先在数据库中建立一个视图&#xff08;在aspx中sql查询语句是view_student不是student&#xff09;&#xff0c;在视图里创建create view view_student--创建视图as row_number 行号 一条数据是一行 分页功能要根据行数运算select *,row_number() over(order by stuNo desc…

PCIE总线-PCI、PCIE关系及信号定义

PCI(Peripheral Component Interconnect)总线规范在上世纪九十年代由Intel提出。在处理器体系结构中&#xff0c;PCI总线属于局部总线(Local Bus)。局部总线作为系统总线的延伸&#xff0c;主要功能是为了连接外部设备。 处理器主频的不断提升&#xff0c;要求速度更快&#x…