SOPC实现4路高清摄像头视频处理的方案设计,软硬件架构
系统原理和技术特点:视频图像的拼接过程主要可分为图像配准和融合处理两个部分。本项目基于SIFT(Scale invariant feature transform尺度不变特征变换)算法,提取视频帧图像中局部部分(边缘部分)的特征值实现图片匹配,采用加权平均方法方法对图像进行拼接。实现4路高清摄像头视频数据采集、SIFT算法特征提加权平均方法图片拼接的SOC设计。由于视频数据处理量大,视频中帧图像拼接要求兼顾高效性与精确性,采用可编程器件FPGA平台,设计比较灵活,通过硬件与软件再次分配实现SIFT算法的硬件,提取边缘交汇部分的特征值精确匹配,完成视频实时处理的项目设计。
SIFT算法原理
SIFT是世界上最强大的特征点检测算法之一。特征点检测确定了所有特征点的最终位置,决定了整个系统的精度和稳定性,这方面在适合于FPGA中硬件实现加速。通过合理的设计,可以实现实时的SIFT特征提取系统设计。
特称点检测一直是计算机视觉中备受关注指出,2004年,哥伦比亚大学的David Lowe提出SIFT算法,较好的解决了物体遮挡、旋转、视角变换引起的图像变形等问题。
SIFT算法获取图像特征点的主要思想:
(1)尺度空间极值点的检测:该算法的第一步是通过对原始图像进行高斯滤波,建立高斯金字塔,获得高斯差分来找到那感兴趣的关键点,也就是在以后的图像匹配中可能发挥作用的特征点。
唯一可能的尺度空间的核心是高斯函数。因此,图像的尺度空间定义为一个函数L(X;Y;σ),从尺度可变的高斯卷积生产G(X;Y;σ),输入图像I(X;Y)
为有效地检测尺度空间稳定关键点的位置,Lowe建议通过高斯差分获取图像的空间尺度极值函数D(X;Y;σ),可以通过一个乘法系数K分离出来的两个相近的尺度进行计算。
在尺度空间通过一个常量系数K,初始图像与高斯函数局部卷积。如下图左侧
检测D(X;Y;σ)局部的最大值和最小值,每个采样点与其当前图像和9个尺度相邻,找最小值与最大值。
(2)关键点的定位:在第(1)步中找到的点,需要经过稳定性的筛选才能成为真正的关键点。
在(1)中确定了关键点,在此步骤进行筛选。
高斯函数中一个定义不情的峰值会有一个大的主曲率边缘和一个小的在垂直方向。通过一个2×2的Hessian矩阵,在关键点的位置和尺度上计算主曲率H。
根据H的特征值和D的主曲率比例关系,通过计算比例不用明确计算特征值。
(3)方向指定:根据每一个关键点邻域内点的梯度方向,为关键点分配梯度方向和梯度的模。所有将来对图像数据的操作都被转化成为相关被分配的方向,尺度和区域,因此对这些转换提供一个不变性。
在像素样本L(x;y)在尺度上,梯度幅度m(x;y)和方向 (x;y)如下
其中方向直方图覆盖360度
通过梯度主导方向确定峰值,检测直方图中的最高峰值。不到80%的最峰值被用于创建一个同方向的关键点。
这样,通过位置,尺度,方向就可以确定SIFT特征值
(4)关键点描述符:在每个关键点周围区域被选择的尺度上,测量局部图像的梯度,将特征点以多维向龄的形式描述出来。
以特征点为中心取16*16的邻域作为采样窗口,将采样点与特征点的相对方向通过高斯加权后归入包含8个bin的方向直方图,最后获得4*4*8的128维特征描述子。
最后,匹配关键点。
环视全景视频系统主要步骤:
输入4路视频,在初始化阶段对边缘局部位置进行SIFT特征提取、特征点初匹配、特征点精确匹配,在实时阶段通过加权平均法融合视频,输出合成视频。
图 主要步骤
主要技术特点
1.高分辨率宽视野
高分辨率的宽视野图像或视频在当今视频图像信号处理领域越显重要。在全景试图的构建、全景视频监控系统的实现以及虚拟现实技术中虚拟环境的构建等等都极其关键。普通摄像头获取场景往往不能兼顾高分辨率与宽视野,通过缩放镜头减小拍摄视野以换取高分辨率的场景图片或者牺牲分辨率获取大场景。另外,有些大尺寸物体用一张照片无法拍摄下来。所以,通过视频或者图像拼接解决高分辨率宽视野视频或者图像获取问题显得极其迫切与必要。
2.边缘交汇图像特侦提取
由于系统要求实时性切高精度拼接,对硬件要求较大。而由于硬件架构导致摄像头相对位置的固定,视频图像之间交汇部分也相对比较固定,所以没有必要对4幅图像全部进行特侦提取。有算法研究通过边缘检测后进行特征点提取,证明了局部的特侦提取可以大大提高系统实时性能。针对本项目,我们只需要对边缘交汇部分区域进行局部的特征提取,这样可以大大提高系统性能,达到加速效果。
3.SIFT特征检测提取算法硬件实现
对SIFT算法进行的深入研究,将其移植到FPGA芯片上,实现软件模块与硬件模块功能互相补充,达到软件与硬件的最大优化,实现高速的图像特征提取效果。硬件加速SIFT算法为其在机器人定位,3D目标识别与跟踪等嵌入式领域的应用奠定了基础。
在图像匹配众多的算法中,SIFT算法对图像的光线亮度变化、尺度缩放以及旋转都能保持不变,对视角变化和噪声也保持一定程度的稳定性。适用于在海量数据库中进行快速实时的匹配,极具有极其广泛的应用范围与可观的发展前景。
4.可编程器件FPGA实现算法硬件加速
可编程器件FPGA极具设计灵活性,非常适合于高性能低成本的视频和图像系统设计及应用,视频特征提取的实时性对硬件要求很高,普通计算机CPU计算能力有限难以达到要求。基于FPGA平台,设计者可以选择如何实现软件代码中的每个模块,可以通过对算法实现的软硬件划分,利用FPGA中现有硬件资源等来加速软件代码中的瓶颈问题,使用FPGA硬件设计模块来提高SIFT算法的时效性。
本项目算法采用抗干扰、高精确度、应用前景广泛但计算相对比较大的SIFT,对其进行硬件实现极具研究价值。且有数据显示,100MHz处理一幅320×240大小图像SIFT特征点提取只需0.8ms。
5.SOPC(Systems On Programmable Chip)设计
本项目以FPGA芯片为实现目标器件,实现多路视频数据的采集处理,研究SIFT算法的硬件实现与加速,一定程度上提出有具有创新性的SOC体系结构。设计具有实时多路视频数据采集与复杂算法运算的数据处理的片上系统,把算法和控制集成到当个芯片中,为该类系统的产业化做了很好的理论与实践基础。在单系统芯片中实现大连数据采集、复杂数据处理是未来集成电路的发展趋势。
系统框图(jpg/gif格式的图像文件):
图1 系统框图
软件流程介绍(允许的格式doc,pdf,vsd,rar,zip):
本项目系统设计主要分三大模块,分别为数据采集与基本处理、视频帧图像的拼接处理以及视频显示输出。基于科研实验室项目经验,多路高速CCD摄像头数据采集与基本颜色生成与矫正存储功能模块以及单路标准视频显示模块以基本实现,本项目可在之前项目设计的基础上加以衍生升级应用。在此基础上,本项目更着重于实现SIFT算法的硬件实现与加速,实现实时视频的拼接。
数据处理有两大算法实现模块,为SIFT算法硬件模块与加权平均法图像拼接模块。
通过对SIFT算法的研究,在PC机上实现SIFT算法提取图像特征值,用加权平均法拼接图像。加权平均法在重叠区域的融合效果一般,会出现一些图像内容的模糊与重影,不过不是本项目的重点,多副图像的融合可以作为后续的发展及研究。在了解SIFT算法的基础上,采用HDL描述SIFT算法,实现硬件设计。
系统主要开发环境:Xilinx ISE Design Suite
拟采用的平台:Atlys Spartan-6 FPGA开发套件
系统所需额外设备:4台高速CCD摄像头(MT9P001_MI5100_DS)
项目测试的标准:
本项目最终实现环视系统的视频的实时采集与显示。
实现四路视频的采集,分辨率达到标清。通过SIFT算法特征点检测和平均加权法对帧图像拼接实现环视图像。4路视频帧图像之间衔接连贯,达到实时高效准确的视频拼接功能。
页:
[1]