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芯片上,实现软件模块与硬件模块功
SOPC 视频处理 SIFT算法 FPGA Spartan-6 相关文章:
- 单片DSP处理器功能系统的SOPC技术设计(01-12)
- 基于DSP和SOPC数字信号发生器的设计(01-05)
- 基于Linux的SoPC应用系统设计(04-23)
- 基于DSP的实时数据处理系统浅析(02-28)
- 基于LXI总线的1553B通讯模块设计与开发(11-24)
- 双MicroBlaze软核处理器的SOPC系统设计(01-27)