CN103442180B - 基于sopc的双目视频拼装置及双目视频拼接方法 - Google Patents
基于sopc的双目视频拼装置及双目视频拼接方法 Download PDFInfo
- Publication number
- CN103442180B CN103442180B CN201310377399.0A CN201310377399A CN103442180B CN 103442180 B CN103442180 B CN 103442180B CN 201310377399 A CN201310377399 A CN 201310377399A CN 103442180 B CN103442180 B CN 103442180B
- Authority
- CN
- China
- Prior art keywords
- binocular video
- module
- binocular
- video
- pair
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- ATHVAWFAEPLPPQ-VRDBWYNSSA-N 1-stearoyl-2-oleoyl-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CCCCCCC\C=C/CCCCCCCC ATHVAWFAEPLPPQ-VRDBWYNSSA-N 0.000 title claims abstract 4
- 238000000034 method Methods 0.000 title abstract description 40
- 238000006243 chemical reaction Methods 0.000 claims abstract description 12
- 230000004927 fusion Effects 0.000 claims abstract description 8
- 238000000605 extraction Methods 0.000 claims abstract description 7
- 230000001629 suppression Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 4
- 238000009795 derivation Methods 0.000 claims description 3
- 230000003287 optical effect Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 abstract description 19
- 238000005303 weighing Methods 0.000 abstract description 2
- 238000003384 imaging method Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 16
- 235000013350 formula milk Nutrition 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 13
- 238000010168 coupling process Methods 0.000 description 12
- 238000005859 coupling reaction Methods 0.000 description 12
- 230000008878 coupling Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 7
- 208000033749 Small cell carcinoma of the bladder Diseases 0.000 description 6
- 238000002156 mixing Methods 0.000 description 6
- 201000007710 urinary bladder small cell neuroendocrine carcinoma Diseases 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000218691 Cupressaceae Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 239000000155 melt Substances 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Landscapes
- Studio Devices (AREA)
Abstract
本发明的基于SOPC的双目视频拼接装置,包括以NiosII软核处理器为核心的SOPC***,其一对CMOS图像传感器通过FPGA端口与一对双目视频采集模块分别连接;一对双目视频采集模块一起连接双目视频存储模块;双目视频存储模块输出端的一路经特征提取协处理器与双目视频输出模块相连接,另一路与双目视频显示模块相连接;双目视频输出模块还分别连接NiosII处理器和上位机,双目视频显示模块还连接VGA显示器。本发明的双目视频拼接方法,通过欧氏距离法对特征点进行粗匹配,然后使用KNN法提出部分误匹配点,最后采用RANSAC计算出单应性矩阵,再经由柱面空间转换及线型加权融合,实现一帧双目视频数据的实时拼接。
Description
技术领域
本发明涉及双目视觉技术,具体是一种基于SOPC的双目视频拼接装置及双目视频拼接方法。
背景技术
双目视觉技术作为机器视觉的重要组成部分,一直是视频拼接、工业检测及三维重建等领域的研究热点。近年来随着双目视觉技术的不断发展,基于视频采集卡与上位机的传统解决方案由于成本高、通用性差、处理速度慢等缺点已无法满足用户需求,尤其在双目视频采集传输部分,无论是采用轮询还是时分复用的方式,现有的设计方法都无法满足***在同步性和实时性上的设计要求。
专利文件“一种基于SOPC的双路视频融合处理装置及其融合方法”(专利号CN102523389A)提出了一种通过SOPC***实现双路视频融合的方法,但是其仍然使用传统的设计方法,没有将FPGA的并行性和SOPC在可编程性上的优势发挥出来,同步性及实时性无法保证,双路视频融合仅使用双线性插值法,融合效果不佳。
现阶段双目视频拼接装置大多上位机参与处理,无法实现真正意义上的嵌入式双目视频拼接装置,且又上位机软件实现视频拼接算法,执行效率不高,在实时性和拼接效果上无法平衡。
发明内容
本发明的目的旨在解决上述技术缺陷。为此,本发明的第一个目的在于提出一种以FPGA为核心基于SOPC的双目视频拼接装置,该装置通过NiosII软核处理器控制以Avalon-MM模块形式封装的各功能模块,将采集到的双路视频数据实时拼接并显示。
本发明的基于SOPC的双目视频拼接装置,包括视频采集装置、视频融合装置、视频传输装置和上位机,其特征在于:一对CMOS图像传感器通过FPGA端口与一对双目视频采集模块分别连接;一对双目视频采集模块一起连接双目视频存储模块;双目视频存储模块输出端的一路经特征提取协处理器与双目视频输出模块相连接,另一路与双目视频显示模块相连接;双目视频输出模块还分别连接NiosII处理器和上位机,双目视频显示模块还连接VGA显示器。
其中,双目视频采集模块主要包括CMOS图像传感器初始化控制器与Avalon流模式视频采集控制器,二者通过Avalon总线连接。一对双目视频采集模块分别连接至一对CMOS图像传感器CMOS_1和CMOS_2对应的DMA控制器DMA_1和DMA_2。
所述的双目视频显示模块主要包括VGA显示时序发生器和缓存数据的异步FIFO,二者通过Avalon总线连接;VGA显示时序发生器通过D/A转换芯片连接VGA显示器。
所述的双目视频输出模块主要包括异步FIFO缓存器和与之连接的Avalon流模式视频输出控制器。将USB芯片通过FPGA端口与双目视频输出模块连接,设置USB芯片为SlaveFIFO从机模式。
所述的双目视频存储模块主要是以两片SDRAM为核心的与之对应的两组DMA控制器DMA_1和DMA_2。双目视频存储模块通过FPGA端口与两片SDRAM相连。
所述的特征提起协处理器包括低通滤波模块及其后顺序连接的求导计算模块、兴趣值计算及邻域非极大值抑制模块;
低通滤波器模块采用改进后的模块:
求导计算模块采用将X与Y方向的求导模板[-1,-2,0,2,1]和[-1,-2,0,2,1]T合并成的5×5的模板:
兴趣值的邻域非极大值抑制模块使用3条Line Buffer和一个3×3的D触发器阵列。本发明将SOPC(System on a Programmable Chip,片上可编程***)技术与FPGA(FieldProgrammable Gate Array,现场可编程门阵列)相结合,提出了一种以Nios II处理器为核心的软硬件协同设计的双目同步视频采集及实时显示***,由DMA(Direct MemoryAccess,直接内存存取)控制器和Avalon-MM(Avalon Memory Map,Avalon存储器映射接口)模块组成的DTFC(Data Transfer Fast Channel,数据快速传输通道)完成视频数据采集和输出,破除处理器与外设在数据交换上的瓶颈,实现双目视频的实时拼接。
双目视频采集器,由一对CMOS图像传感器组成双目视频采集模块,CMOS传感器按照规范结构(canonical configuration)结构布置,基线与水平轴重合,传感器的光轴是平行的,极点移至无限远处,极线平行,两传感器间相距5-7厘米距离(模仿人眼间距),双目CMOS传感器通过FPGA端口与双目视频采集模块相连接。
双目视频存储器,由两片容量为64MB的SDRAM组成,采用高速电路设计中近端摆放方式,将两片SDRAM平行布置在与FPGA等距的位置上,通过FPGA端口与双目视频存储模块相连,作为***运行空间和帧缓冲器(Frame Buffer)。
双目视频显示器,与双目视频显示模块通过FPGA端口相连,通过高速D/A转换芯片将双路视频数据转换为模拟信号,输出至VGA显示器显示。
双目视频输出器,将USB2.0设备通过FPGA端口与双目视频输出模块连接,设置USB2.0设备为Slave FIFO从机模式,FPGA可以直接访问和读/写端点对应的FIFO,方式与读/写普通FIFO相同,不涉及任何传输协议,FPGA作为外部控制器产生数据传输所需的驱动信号、握手信号(空/满标志位等)和使能信号,支持热插拔,实现上位机对SOPC***初始化及采集数据存储。
FPGA核心***,包括FPGA芯片、EPCS16存储器及JTAG接口,EPCS16的非易失保证***在上电后可以正常运行,而不用重新下载程序,JTAG接口用于下载和调试程序。
双目视频采集模块包括图像传感器初始化控制器与Avalon流模式视频采集控制器,采集过程由NiosII处理器控制,处理器首先发出传感器初始化信号,对两片CMOS图像传感器进行初始化,在收到初始化成功信号后启动Avalon流模式视频采集控制器和对应的DMA控制器,将双路视频信号采集至指定的FramerBuffer,充分利用FPGA的并行性与NiosII处理器的可编程性,实现双路视频数据的同步采集与实时存储。
双目视频存储模块主要是以两片SDRAM为核心,配合与之对应的DMA控制器,实现数据的乒乓传输,SDRAM作为单口器件只能进行串行传输,无法同时对数据进行采集和输出,如果使用传统的乒乓传输设计方法,双目视频传输需要四片SDRAM,PCB布线难度极大。本设计应用SOPC在控制性上的优势,操作两组DMA控制器(DMA_1,DMA_2)配合两片SDRAM实现了双目视频数据的乒乓传输。
双目视频输出模块包括异步FIFO缓存器与Avalon流模式视频输出控制器。由于SOPC***时钟(120MHz)高于USB芯片(CY7C68013A)时钟(48MHz),所以加入异步FIFO缓存器暂存数据,并在控制模块中引入反压机制(BackPush),将异步FIFO的almost_full信号作为反压信号发送至DMA控制器,DMA控制器根据该信号终止或继续数据传输,为达到USB芯片最高传输速率,将USB芯片设置为Slave FIFO从机模式,Avalon流模式视频输出控制器作为外部主控制器产生写USB芯片内部FIFO时序、握手信号和输出使能信号,其核心为一个有限状态机(Finite State Machine,FSM),视频输出模块在NiosII处理器发出启动信号,完成一帧双路视频信号输出后进入等待状态,整个过程自动完成,将处理器从繁重的输出传输中解放出来专注于***控制,经实际测试,***的输出速率可以达到40MHz/s以上,可以满足上位机实时显示的要求。
双目视频显示模块包括控制视频流输出的VGA显示时序发生器和缓存数据的异步FIFO,根据VGA协议正确的产生垂直同步信号和水平同步信号,信号经FPGA端口直接输出至VGA显示器,R/G/B针脚数据经高速D/A芯片转换后输出至VGA显示器的模拟数据端。本发明的另一个目的在于提出一种由嵌入式***实现的双目视频拼接方法,将具有内在并行性的特征提取部分采用RTL硬件实现,图像配准、图像空间转换及图像融合部分由NiosII软件实现,进而实现嵌入式双目视频实时拼接***。
该方法包括:
A)双目视频配准,首先通过欧氏距离法对特征点进行粗匹配,然后使用KNN法提出部分误匹配点,最后采用RANSAC计算出单应性矩阵;
B)双目视频空间转换,将多张待拼接的图像投影到一个圆柱面上,并且以柱面图像的形式存储,得到统一坐标空间的柱面图像,然后将柱面序列图像进行拼接,构成一幅完整柱面全景图;
C)双目视频融合,采用线性渐变融合算法,在重叠区域,依据权值相加,从一幅图像均匀过渡到另一幅图像。
在步骤A)欧氏距离法计算各特征点之间的欧式距离,计算式为:
其中,dscr1和dscr2为两带匹配特征点,d为两带匹配特征点之间的欧式距离;
其次,将两幅待匹配图像的特征点各归为一类,通过KNN计算一类特征点中每个样本数据到另一类特征点数据的距离,得到该类特征点的K个最近距离,再判断最近距离的特征点是否符合设定条件:
m0<m1·(1-match_conf)
当满足上式条件时,则最近距离匹配对保留,否则剔除;
其中,设置K=2,m0为最邻近匹配对距离,m1为次邻近匹配对距离,match_conf为距离比系数,取match_conf=0.3;
最后,在KNN剔除部分错误匹配后,对已经获得的正确匹配对,利用RANSAC算法进一步消除其中的错误匹配,建立单应性矩阵,具体步骤为:
a)随机选取4对匹配对,
b)判断是否存在三点共线,如果为是,则返回a),如果为否,则
c)根据4对匹配对计算单应性矩阵H,
d)计算其他所有匹配点与单应性矩阵H的欧式距离,
e)如果上述欧式距离小于设定阈值T,则该匹配点为内点,
f)记录最多内点数的单应性矩阵,
g)计算迭代次数M,如果M小于设定的迭代次数N,则结束,以f)的单应性矩阵为最终的单应性矩阵,如果M不小于设定的迭代次数N,则返回a),
其中设置阈值T和迭代次数N,以保证所需的4对匹配对都是内点的概率P=95%,迭代次数M的计算式为:
p1为任何一对匹配点的概率,e=1-p1是外点的概率。
在步骤B),所述双目视频空间转换是,按下式将图像投影到以摄像机焦距为半径的柱面上,
式中:W和h分别为原始图像的宽和高,x,y为源图像上的任一点P(x,y)的坐标,x’,y’为P(x,y)在柱面上的投影Q(x’,y’)的坐标,投影柱面的半径r是摄像机的由单应性矩阵估计的焦距f。
在步骤C),所述线性渐变融合算法是:假设相邻图像I1,I2在区间[x1,x2]上重叠,重叠区域中的对应点为I1(x,y)和I2(x,y),赋予两个点不同的权重系数,权重系数f(x,y)与该点在重叠区域的位置相关:
式中,W1(x,y),W2(x,y)分别为点I1(x,y)和I2(x,y)的权值,它们之间的关系如下:
W2(x,y)=1-W1(x,y)。
双目视频配准,首先通过欧氏距离法对特征点进行粗匹配,然后使用KNN法提出部分误匹配点,最后采用RANSAC计算出单应性矩阵。
双目视频空间转换模块,将多张待拼接的图像投影到一个圆柱面上,并且以柱面图像的形式存储在计算中,得到统一坐标空间的柱面图像,然后将柱面序列图像进行拼接,构成一幅完整柱面全景图。
双目视频融合模块,采用线性渐变融合算法,解决重叠区域的拼接缝问题,该种融合算法是在重叠区域,依据权值相加,从一幅图像均匀过渡到另一幅图像,因为双目摄像头获取图像的方式是严格的同一时刻采集同一帧图像,且摄像头的参数一致,所以不会受到运动目标的影响。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的SOPC***连接示意图;
图2为根据本发明实施例的数据快速传输通道示意图;
图3为根据本发明实施例的双目视频采集模块示意图;
图4为根据本发明实施例的双目视频采集模块工作流程图;
图5为根据本发明实施例的双目视频显示模块示意图;
图6为根据本发明实施例的双目视频输出模块示意图;
图7为根据本发明实施例的双目视频输出模块状态控制示意图;
图8为根据本发明实施例的特征提取协处理器示意图;
图9为根据本发明实施例的双目视频拼接步骤示意图;
图10为根据本发明实施例的RANSAC单应性矩阵计算流程图;
图11为根据本发明实施例的柱面空间投影切面示意图;
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
装置实施例
本装置以一片Altera公司型号为EP4CE15F17C8N的FPGA为核心;包括由两片美国豪威公司(OmniVision)的OV7670CAMERACHIP组成的图像采集器极其电路;由两片美高公司(MICRON)型号为MT48LC32M16A2的SDRAM组成的,用于双路视频数据乒乓缓存的双目视频存储器极其电路;由高速D/A芯片ADV7123和VGA接口组成的双目视频显示器极其电路;由赛普拉斯(Cypress Semiconducto)公司EZ-USB FX2LP系列芯片CY7C68013A和USB2.0接口组成的双目视频输出器极其电路;FPGA******电路。
如图1所示,双目视频存储模块的输入端与双目视频采集模块相连接,输出端分成两路,一路经特征提取协处理器与双目视频输出模块相连接,另一路与双目视频显示模块相连接,NiosII处理器作为***核心,完成各模块初始化配置及双缓存存储控制。
如图2所示,数据快速传输通道包括双目视频存储模块及与之相连接模块的DMA控制器,NiosII处理器通过操作DMA控制器的目的地址实现双目视频数据的双缓存传输,从而达到大数据快速传输的目的。
如图3所示,本发明的基于SOPC的双目视频拼接装置中,双目视频采集模块主要包括OV7670初始化控制器与Avalon流模式视频采集控制器,其中OV7670初始化控制器由SCCB_Control模块和OV7670_Config模块组成,采集过程由NiosII处理器控制。处理器首先发出OV7670处理器初始化信号,对两片OV7670图像传感器进行初始化;在收到初始化成功信号后启动Avalon流模式视频采集控制器和对应的DMA控制器,将双路视频信号采集至指定的Framer Buffer;模块将FPGA的并行性与NiosII处理器的可编程性相结合,充分发挥了软硬件各自特点,下面对各部分的实现过程进行具体说明。
SCCB_Control模块根据SCCB协议产生读写CMOS传感器寄存器的时序,SCCB可以工作在两线制模式下(SIO_C,SIO_D),两线制SCCB是一种简化的I2C协议,SIO_C是串行时钟信号线,相当于I2C协议的SCL信号线;SIO_D是双向串行数据信号线,相当于I2C协议的SDA信号线,其工作时序与I2C协议基本相同。典型的SCCB总线读写操作,首先主机发送一个开始位,紧接着发送8位从设备地址信息,最后一位的地址信息是读/写标志位(1代表读操作,0代表写操作);在收到从设备响应信号后,将8位数据送上数据线,最后发出停止位信号OV7670初始化控制器应用Verilog HDL硬件描述语言,根据SCCB总线时序编写可综合的寄存器传输级(RTL)程序,对OV7670摄像头进行初始化配置。OV7670寄存器地址为0x00~0xC9,通过研究OV7670用户手册和应用场景介绍,并结合试验将,本文将OV7670需要配置的寄存器精简成18个,使OV7670的配置过程更加清晰。
OV7670初始化控制器包括用于产生SCCB总线时序的SCCB_Control模块和用于寄存器初始化的OV7670_Config模块。OV7670_Config作为顶层模块,按照所需配置寄存器的顺序反复调用SCCB_Control,将数据写入指定的寄存器。
如图4所示,双目视频采集模块工作流程,OV7670初始化控制器的启动由NiosII处理器通过OV7670_CONFIG_START信号控制,配置完成后返回OV7670_CONFIG_FINISH信号,当NiosII处理器收到两路传感器配置完成信号后,***方可开始视频采集。
Avalon流模式视频采集控制器包括视频采集时序发生器和异步FIFO及其控制器两部分。由于摄像头的工作时钟(24MHz)与NiosII***的工作时钟(120MHz)处在不同时钟域。为保证双路视频数据同步性,防止在同步RTL设计中出现亚稳态,对单比特控制信号,如场(VSYNC)、行(HREF)、像素(PCLK)信号经过两级触发器串联同步器后方能使用。
对多比特数据信号,如OV7670输入数据需要经过带格雷码地址发生器的异步FIFO后方能使用。经过上述处理后可以将***的平均无故障时间(Mean Time BetweenFailures,MTBF)控制在可接受范围内,保证***可靠性与同步性。
视频采集时序发生器根据OV7670输出时序将采集到的数据封装成帧后上传,VSYNC为帧同步信号,HREF为行同步信号。当检测到VSYNC上升沿时表示有一帧新图像数据到来,下降沿表示开始一帧图像数据采集;HREF为高电平有效信号,当检测到HREF为高电平且VSYNC为低电平时为有效图像数据;PCLK为像素同步信号,OV7670在每个PCLK下降沿输出一单位数据。在VSYNC为低电平时,HREF会输出480次高电平,即每帧数据包含480列;在HREF为高电平时,PCLK会输出640次低电平,即每列数据包含640个像素;当VSYNC信号再次出现时,表示一帧VGA(640×480)图像数据输出结束,同时标志着下一帧数据输出开始。
视频采集模块在完成OV7670图像传感器配置后,会先接收20帧图像数据,然后才向NiosII处理器发出配置完成信号,这是因为图像传感器存在10~15帧不稳定信号周期,在这之后的图像数据才认为是稳定可用的。
利用行(HREF)/帧(VSYNS)同步信号和像素时钟(PCLK)按照RGB565的数据格式,对采集到的视频信号进行像素级拼接,将前后两个8bit数据拼接为一个16位RGB565格式的像素数据。像素拼接减少了Avalon总线对FIFO的读写次数,降低了后续数据处理复杂度。
封装好的视频采集模块例化两份,分别连接至CMOS1/CMOS2对应的DMA控制器。视频采集模块作为Avalon主模块,在NiosII程序控制下,将双路视频数据同步上传至视频存储模块中各自的Framer_Buffer,相较于传统的PIO传输,处理器只负责配置DMA控制器,而整个数据传输过程由数据传输快速通道自动完成,由于SOPC***的工作时钟高于CMOS图像传感器的像素时钟,所以在传输过程中DMA控制器始终保持使能状态,这与后面视频数据输出部分的DMA控制器状态略有不同,不存在Avalon-MM模块对DMA控制器的反压。
如图5所示,双目视频显示模块包括控制视频流输出的VGA显示时序发生器和缓存数据的异步FIFO,下面对各部分的实现过程进行具体说明。
VGA(640×480)显示模式规定,每帧信号包含525行,其中480行为有效显示行,每帧数据通过VSync信号同步,VSync是宽度为2个行周期的低电平脉冲;每行信号包括800个像素点,其中640个为有效显示像素,每行数据通过一个宽度为96个时钟周期的低电平脉冲同步。使用VerilogHDL设计针对VSync信号和HSync信号状态机,通过计数器产生个状态之间的跳转条件。
Avalon视频显示控制器的生成方法与Avalon视频采集控制模块的生成方法类似,主要的不同在于作为视频数据的输出端口,SOPC***工作频率高于VGA显示器的时钟频率,而片内异步FIFO缓存无法做到缓存一帧完整数据,这就造成在数据输出过程中如果不对FIFO缓存做相应的处理就会产生溢出从而造成视频数据的丢失,针对这一情况,设计中加入了反压机制,通过异步FIFO的将满和将空信号(almost_full/almost_empty)反压与视频显示控制器连接的DMA控制器,使DMA控制器在FIFO即将被写满时(almost_full信号为1),自动停止数据输出,等待FIFO即将被读空时(almost_empty信号为1)才继续输出数据,从而实现视频数据的高效自动传输。
如图6所示,双目视频输出模块包括异步FIFO缓存器与Avalon流模式视频输出控制器。由于***时钟(120MHz)高于USB芯片(CY7C68013A)时钟(48MHz),所以加入异步FIFO缓存器暂存数据。根据视频信号数据流传输特点,权衡FPGA内资源与数据传输速度后,采用宽度为16深度为4096Byte的异步FIFO作为缓存,并在控制模块中引入反压机制(BackPush),将异步FIFO的almost_full信号作为反压信号发送至DMA控制器,DMA控制器根据该信号终止或继续数据传输。
如图7所示,为了达到最高传输速率,将CY7C68013A设置为Slave FIFO从机模式。Avalon流模式视频输出控制器作为外部主控制器产生写FX2内部FIFO时序、握手信号和输出使能信号,其核心为一个有限状态机(Finite State Machine,FSM)。
视频输出模块的封装过程与前面两个模块相似,经过封装的视频输出模块在NiosII处理器收到上位机发出的视频输出指令后,将双路视频信号经USB2.0总线上传,整个过程自动完成,从而将处理器从繁重的数据传输中解放出来专注于***控制,经实际测试,***的输出速率可以达到40MHz/s以上,可以满足上位机实时显示的要求。
如图8所示,特征提起协处理器,包括低通滤波模块、求导计算模块、兴趣值计算及邻域非极大值抑制模块,首先通过滤波模块减少噪声干扰,然后通过计算像素点在X和Y两个方向的梯度计算出兴趣点,最后通过兴许值计算和邻域非极大值抑制求出Harris角点。为达到提高Harris算法硬件可实现性和减小FPGA资源开销的目的,本发明对低通滤波器算子模板进行改进,改进后的模板为:
改进后的模板近似高斯滤波器的圆形结构抗噪性更好,可以满足算法在抑制噪声上对模板的要求,同时优化后的模板系数均可以通过寄存器的移位实现除法器的功能,降低设计难度和资源开销的同时使算法更符合硬件实现规律。
为了进一步提高算法性能,设计中将X与Y方向的求导模板[-1,-2,0,2,1]和[-1,-2,0,2,1]T,合并为一个5×5的模板算模板:
兴趣值的邻域非极大值抑制,兴趣值的邻域非极大值抑制与前面实现方式存在差异,兴趣值的邻域非极大值抑制是在一个3×3的邻域中完成的,在设计中只需要使用3条Line Buffer和一个3×3的D触发器阵列。数据更新部分的实现方式与前面相同,视频数据按单位进出首尾相接的三条Line Buffer,同时以列为单位进入D触发器阵列。D触发器中心的数据分别于其8个邻域数据进行比较,如果大于则输出一个高电平信号,如果处于D触发器中心的数据大于其全部8个邻域数据,则该数据点为角点,记录该点坐标,并输出一个Cycle的高电平。
方法实施例
本发明实施例的双目视频拼接方法,包括:
A)双目视频配准,首先通过欧氏距离法对特征点进行粗匹配,然后使用KNN法踢出部分误匹配点,最后采用RANSAC计算出单应性矩阵;
B)双目视频空间转换,将多张待拼接的图像投影到一个圆柱面上,并且以柱面图像的形式存储,得到统一坐标空间的柱面图像,然后将柱面序列图像进行拼接,构成一幅完整柱面全景图;
C)双目视频融合,采用线性渐变融合算法,在重叠区域,依据权值相加,从一幅图像均匀过渡到另一幅图像。
本发明实施例双目视频拼接算法流程,如图9所示,总共包括欧氏距离计算、KNN误匹配剔除、RANSAC单应性矩阵计算、柱面空间转换及线性渐变融合等五个步骤,其中:
所述双目视频特征点配准,首先计算各特征点之间的欧式距离,公式为:
其中,dscr1和dscr2为两带匹配特征点,d为两带匹配特征点之间的欧式距离。
其次,将两幅待匹配图像的特征点各归为一类,,通过KNN计算一类特征点中每个样本数据到另一类特征点数据的距离,得到该类特征点的K个最近距离,再判断最近距离的特征点是否符合设定条件,符合则是匹配对。
其中,设置K=2(最邻近匹配对距离m0次邻近匹配对距离m1),为了提高匹配率,设置一个距离比系数match_conf(这里match_conf=0.3),当满足下式条件时,则最近距离匹配对保留,否则剔除。
m0<m1·(1-match_conf)
最后,由先前的KNN剔除部分错误匹配,然后根据已经获得的正确匹配点对,利用RANSAC算法进一步消除其中的错误匹配,从而得到一个精确、强壮的匹配点集,最后建立单应性矩阵变换模型。
RANSAC算法估算单应性矩阵的过程如图10所示。
其中设置阈值T和迭代次数N,是为了保证所需的4对匹配对都是内点的概率足够大。假设P代表此概率,取95%。具体步骤为:
a)随机选取4对匹配对,
b)判断是否存在三点共线,如果为是,则返回a),如果为否,则
c)根据4对匹配对计算单应性矩阵H,
d)计算其他所有匹配点与单应性矩阵H的欧式距离,
e)如果上述欧式距离小于设定阈值T,则该匹配点为内点,
f)记录最多内点数的单应性矩阵,
g)计算迭代次数M,如果M小于设定的迭代次数N,则结束,以f)的单应性矩阵为最终的单应性矩阵,
如果M不小于设定的迭代次数N,则返回a),
迭代次数M的计算式为:
p1为任何一对匹配点的概率,e=1-p1是外点的概率。
所述双目视频空间转换,图像投影到以摄像机焦距为半径的柱面上。因此需要对摄像机焦距f做出尽可能精确的估算,从而尽可能的减小拼接图像畸变。
如图11所示,W和h分别为原始图像的宽和高,P(x,y)为源图像上的任一点的坐标,Q(x’,y’)为P(x,y)在柱面上的投影坐标,f是摄像机的焦距,也就是投影半径r。用正投影的投影公式可以得到柱面空间的点Q(x’,y’)与原始图像空间上的点P(x,y)的对应关系,运用数学投影公式可以得到柱面空间的点Q(x′,y′)与原始图像空间上的点P(x,y)的对应关系。
由上式得到柱面投影变换公式:
上式中的θ是水平视角hθ,在摄像机焦距估计中可求得。
所述双目视频融合模块,采用线性渐变融合算法,该种融合算法是在重叠区域,依据权值相加,从一幅图像均匀过渡到另一幅图像。相邻图像I1,I2在区间[x1,x2]上重叠。假设重叠区域中的对应点I1(x,y)和I2(x,y),赋予两个点不同的权重系数,权重系数f(x,y)与该点在重叠区域的位置相关:
式中,W1(x,y),W2(x,y)分别为点I1(x,y)和I2(x,y)权值,它们之间的关系如下:
W2(x,y)=1-W1(x,y)。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (1)
1.基于SOPC的双目视频拼接装置,包括视频采集装置、视频融合装置、视频传输装置和上位机,其特征在于:一对CMOS图像传感器通过FPGA端口与一对双目视频采集模块分别连接;一对双目视频采集模块一起连接双目视频存储模块;双目视频存储模块输出端的一路经特征提取协处理器与双目视频输出模块相连接,另一路与双目视频显示模块相连接;双目视频输出模块还分别连接NiosII处理器和上位机,双目视频显示模块还连接VGA显示器;
所述一对CMOS布置结构具体限定为一对CMOS图像传感器按照基线与水平轴重合的方式布置,传感器的光轴是平行的,极点移至无线远处,极线平行,两传感器间距5-7厘米;
一对双目视频采集模块分别连接至一对CMOS图像传感器CMOS_1和CMOS_2对应的DMA控制器DMA_1和DMA_2;双目视频采集模块包括CMOS图像传感器初始化控制器与Avalon流模式视频采集控制器,二者通过Avalon总线连接;
双目视频显示模块包括VGA显示时序发生器和缓存数据的异步FIFO,二者通过Avalon总线连接;VGA显示时序发生器通过D/A转换芯片连接VGA显示器;
将USB芯片通过FPGA端口与双目视频输出模块连接,设置USB芯片为SlaveFIFO从机模式;双目视频输出模块包括异步FIFO缓存器和与之连接的Avalon流模式视频输出控制器;
双目视频存储模块通过FPGA端口与两片SDRAM相连;双目视频存储模块是以两片SDRAM为核心配合与之对应的两组DMA控制器DMA_1和DMA_2;
特征提取协处理器包括低通滤波模块及其后顺序连接的求导计算模块、兴趣值计算及邻域非极大值抑制模块;
低通滤波器模块采用改进后的模块:
求导计算模块采用将X与Y方向的求导模板[-1,-2,0,2,1]和[-1,-2,0,2,1]T合并成的5×5的模板:
兴趣值的邻域非极大值抑制模块使用3条Line Buffer和一个3×3的D触发器阵列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310377399.0A CN103442180B (zh) | 2013-08-27 | 2013-08-27 | 基于sopc的双目视频拼装置及双目视频拼接方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310377399.0A CN103442180B (zh) | 2013-08-27 | 2013-08-27 | 基于sopc的双目视频拼装置及双目视频拼接方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103442180A CN103442180A (zh) | 2013-12-11 |
CN103442180B true CN103442180B (zh) | 2017-02-08 |
Family
ID=49695841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310377399.0A Expired - Fee Related CN103442180B (zh) | 2013-08-27 | 2013-08-27 | 基于sopc的双目视频拼装置及双目视频拼接方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103442180B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378574B (zh) * | 2014-12-01 | 2017-11-24 | 北京理工大学 | 基于SoPC的VGA图像采集与压缩存储装置 |
CN105096327B (zh) * | 2015-08-12 | 2017-12-12 | 北京航空航天大学 | 一种基于计算机双目视觉及单应性矩阵的盲道定位方法 |
CN106412497A (zh) * | 2016-08-30 | 2017-02-15 | 中国南方电网有限责任公司 | 一种基于全景拼接凝视技术的双目视觉立体匹配方法 |
CN109712112B (zh) * | 2018-11-22 | 2022-06-24 | 中北大学 | 基于局部特征的航拍绝缘子图像的定位方法 |
CN109743515B (zh) * | 2018-11-27 | 2021-09-03 | 中国船舶重工集团公司第七0九研究所 | 一种基于软核平台的异步视频融合叠加***及方法 |
CN109801207B (zh) * | 2019-01-08 | 2023-05-30 | 桂林电子科技大学 | Cpu-fpga协同的影像特征高速检测与匹配*** |
CN111524394A (zh) * | 2020-03-18 | 2020-08-11 | 中国民用航空总局第二研究所 | 提升机坪综合航迹监视数据精度的方法、装置及*** |
CN113327198A (zh) * | 2021-06-04 | 2021-08-31 | 武汉卓目科技有限公司 | 一种远距离双目视频拼接方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724477A (zh) * | 2012-05-25 | 2012-10-10 | 黑龙江大学 | 基于fpga的监控视频实时拼接装置及拼接方法 |
CN203522895U (zh) * | 2013-08-27 | 2014-04-02 | 桂林电子科技大学 | 基于sopc的双目视频拼装置 |
-
2013
- 2013-08-27 CN CN201310377399.0A patent/CN103442180B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724477A (zh) * | 2012-05-25 | 2012-10-10 | 黑龙江大学 | 基于fpga的监控视频实时拼接装置及拼接方法 |
CN203522895U (zh) * | 2013-08-27 | 2014-04-02 | 桂林电子科技大学 | 基于sopc的双目视频拼装置 |
Non-Patent Citations (5)
Title |
---|
基于FPGA机器视觉的运动目标检测跟踪***;刘晓伟;《中国优秀硕士学位论文全文数据库信息科技辑》;20121215(第12期);第I页,第30-43页,第50-59页 * |
基于FPGA的改进Harris角点检测方法;王渝,王刚,梅员;《通信技术》;20100410;第43卷(第4期);第158-160页 * |
基于SURF的图像配准与拼接技术研究;卜珂;《中国优秀硕士学位论文全文数据库信息科技辑》;20100715(第7期);第15-26页,第41-52页 * |
嵌入式双目视觉***和三维重建技术研究;张永平;《中国优秀硕士学位论文全文数据库信息科技辑》;20130615(第6期);全文 * |
柱面全景图全自动拼接***研究与实现;赵亮;《中国优秀硕士学位论文全文数据库信息科技辑》;20111215(第81期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103442180A (zh) | 2013-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103442180B (zh) | 基于sopc的双目视频拼装置及双目视频拼接方法 | |
CN107249101A (zh) | 一种高分辨率图像采集与处理装置 | |
US10122998B2 (en) | Real time sensor and method for synchronizing real time sensor data streams | |
CN103797790B (zh) | 移动图像捕获设备、信息处理***、信息处理设备、以及图像数据处理方法 | |
CN104427218B (zh) | 超高清ccd图像多通道采集与实时传输***及方法 | |
CN109922260B (zh) | 图像传感器和惯性传感器的数据同步方法和同步装置 | |
US9706114B2 (en) | Image pickup apparatus, information processing apparatus, display apparatus, information processing system, image data sending method, image displaying method, and computer program | |
CN103595924A (zh) | 一种基于Cameralink的图像融合***及其方法 | |
CN106375642B (zh) | 图像采集处理装置及物体运动图像采集*** | |
CN101516015A (zh) | 多路视频数据采集处理和传输的装置及其方法 | |
CN109743515A (zh) | 一种基于软核平台的异步视频融合叠加***及方法 | |
CN104243781A (zh) | 一种基于sopc的全方位视觉*** | |
CN109656863A (zh) | 一种高带宽的mipi数据处理接口电路 | |
CN208956216U (zh) | 基于低照度摄像头同步采集长距传输的大型车环视*** | |
CN201608779U (zh) | 一种便携式可见光ccd成像*** | |
CN102118289B (zh) | Ieee1394接口的实时图像分割处理***与高速智能统一总线接口方法 | |
CN109951617A (zh) | 一种基于fpga的双光谱高速相机 | |
CN105120235A (zh) | 基于usb3.0接口的工业图像采集***及其图像采集处理方法 | |
CN106851183A (zh) | 基于fpga的多路视频处理***及其方法 | |
Yan et al. | Design of CMOS image acquisition system based on FPGA | |
CN102034229A (zh) | 高分辨多光谱空间光学遥感器的实时图像融合方法 | |
CN203522895U (zh) | 基于sopc的双目视频拼装置 | |
CN206611519U (zh) | 一种高速实时图像采集传输*** | |
CN109089048A (zh) | 多镜头全景联动装置及方法 | |
CN105635648A (zh) | 视频实时边缘检测*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170208 |