CN104243781A - 一种基于sopc的全方位视觉系统 - Google Patents

一种基于sopc的全方位视觉系统 Download PDF

Info

Publication number
CN104243781A
CN104243781A CN201410424442.9A CN201410424442A CN104243781A CN 104243781 A CN104243781 A CN 104243781A CN 201410424442 A CN201410424442 A CN 201410424442A CN 104243781 A CN104243781 A CN 104243781A
Authority
CN
China
Prior art keywords
sopc
image
directional visual
module
fully
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.)
Pending
Application number
CN201410424442.9A
Other languages
English (en)
Inventor
谭洪舟
曾庆立
刘慧�
陈荣军
朱雄泳
其他发明人请求不公开姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SYSU HUADU INDUSTRIAL SCIENCE AND TECHNOLOGY INSTITUTE
Sun Yat Sen University
Original Assignee
SYSUNG ELECTRONICS AND TELECOMM RESEARCH INSTITUTE
Sun Yat Sen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SYSUNG ELECTRONICS AND TELECOMM RESEARCH INSTITUTE, Sun Yat Sen University filed Critical SYSUNG ELECTRONICS AND TELECOMM RESEARCH INSTITUTE
Priority to CN201410424442.9A priority Critical patent/CN104243781A/zh
Publication of CN104243781A publication Critical patent/CN104243781A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

本发明公开了一种基于SOPC的全方位视觉系统,包括:1)由鱼眼镜头和CMOS图像传感器获取大于半球视场的全方位视觉图像信息;2)基于SOC技术和FPGA可编程特性,通过配置IP组件在FPGA芯片中创建Nios II/SOPC系统,设计自定义IP实现全方位视觉图像的实时采集、畸变校正、显示等系统核心功能;3)由Nor Flash存储FPGA配置文件及系统软件;SD卡存储图像文件;SDRAM作为系统内存;4)按键和LCD显示器作为系统人机交互单元。解决了现有全方位视觉系统构建方法无法在小型嵌入式设备中实现图像实时采集、校正、存储、显示的问题。具有体积小、成本低、功能可扩展性强的优点。

Description

一种基于SOPC的全方位视觉系统
技术领域
本发明涉及机器视觉领域,更具体地,涉及一种基于SOPC的全方位视觉嵌入式系统,能够实现全方位视觉图像的实时采集、畸变校正、存储和显示。
背景技术
全方位视觉是指一次获得大于半球视场(360°x180°)的全部视觉信息,因此在依赖于视觉信息做出决策的各行各业都具有非常重要的意义。目前构建全方位视觉系统的构建方法主要有四种:1)普通视觉传感器+旋转云台的方法,普通视觉传感器视场有限,依靠云台旋转增大视场,但由于云台旋转速度所限,在所获得的图像里存在时延,不适于快速移动目标的视觉信息获取;2)多视觉传感器+图像拼接的方法,利用多台视觉传感器同时获取视场不同角度的视觉图像,然后实现图像的无缝拼接,但是多摄像机的精确安装,以及多幅图像的无缝拼接成为实现的瓶颈;3)利用凸面反射镜的方法,使用反光镜将周围图像反射到相机的成像平面上,捕获整个半球域内的图像信息,这种方法图像处理算法相对简单,目前研究和应用比较多,但是镜头本身会出现在中心区域形成盲区;4)利用鱼眼镜头的方法。
鱼眼镜头具有视场角很大的特点,单个镜头一次拍摄便可获得大于一幅大于半球域视场的全方位视觉图像,且它以凝视方式工作,不需要旋转和扫描,采用鱼眼镜头构建的全方位视觉系统具有结构简单、体积小、隐蔽性强的优点。但通过鱼眼镜头所拍摄的图像存在比较严重的畸变,不符合人们的视觉观察习惯,因此在许多应用中,必须对畸变图像进行校正处理。但传统的鱼眼图像畸变校正大都是基于PC机,虽然能取得很好的校正效果,但体积大、资源冗余和实时性很差,在小型嵌入式设备中应用和实现具有很大困难。
SOPC(System on a Program Chip)是基于FPGA的可重构SoC,它结合了的FPGA和Soc的优点,具有高集成度、低功耗、软硬件可编程的功能,设计周期短、成本低,可以使用很多公司提供的开发工具和IP核,实现具体的应用功能和整体解决方案的设计,是电子系统设计发展的必然趋势和最终目标。
发明内容
本发明的目的是提供一种基于SOPC的全方位视觉系统,解决了现有全方位视觉系统构建方法无法在小型嵌入式设备中同时实现全方位视觉图像实时采集、畸变校正、存储、显示的问题。
本发明是基于Nios II/SOPC的全方位视觉系统,通过如下方案实现全方位视觉系统的功能:
一种基于SOPC的全方位视觉系统,包括:鱼眼镜头、CMOS图像传感器、SOPC、Nor Flash、SDRAM、和显示器,
所述鱼眼镜头和图像传感器组成摄像头模组,并将摄像头模组的图像数据输出引脚与SOPC中图像采集相应功能引脚相连,Nor Flash与SOPC中的Flash控制引脚相连,SDRAM与SOPC中SDRAM控制引脚相连,显示器与SOPC中图像输出相应功能引脚相连;
所述SOPC是由Nios II处理器、Avalon总线、图像采集模块、畸变校正模块、LCD控制器、各种存储设备控制器以及I/O外设整合到一起,成为一个独立、可编程的全方位视觉系统芯片,形成最终的SOPC。
选择合适的鱼眼镜头和CMOS图像传感器组成摄像头模组,通过该模组获取大于半球视场(360°x180°)的全方位视觉图像信息,这种构造方法使得全方位视觉系统的体积小、成本低。
通过显示器预览全方位视觉图像,具有简单便捷的人机交互接口。
将Nios II处理器、Avalon总线、存储设备控制器及I/O外设整合到一块FPGA芯片中,成为一个独立、可编程的全方位视觉系统芯片,形成最终的SOPC系统,使得系统集成度很高,功能可扩展性很强。
创建基于Nios II的SOPC系统,包括如下步骤:
a)通过SOPC Builder开发工具选择和配置Nios II CPU、JTAG调试单元、SDRAM控制器、Nor Flash控制器、SD卡控制器、时钟管理单元、串口控制器、定时器;
b)设计自定义IP核,集成了I2C配置模块、图像采集模块,畸变校正模块、LCD控制器、专用DMA通道、异步FIFO、寄存器组,该IP核实现全方位视觉图像的实时采集、畸变校正和显示功能;
c)通过SOPC Builder工具自动生成Avalon总线互连逻辑,组织和连接各个模块,形成一个完整的可编程片上系统(SOPC)。
设计系统软件程序和各个模块的驱动程序,通过软件控制系统功能的运行。
采用软硬协同设计方法对通过鱼眼镜头获取的全方位视觉图像进行实时畸变校正处理,系统首次启动,通过软件运行坐标变换算法生成鱼眼图像畸变地址映射表,并将畸变地址映射表存入Nor Flash,系统再次启动,则直接从Nor Flash中读取畸变地址映射表到内存SDRAM中,然后配置自定义的IP核的寄存器,将映射表的存储地址传给自定义IP核中的畸变校正模块,由畸变校正模块依次完成整幅图像的畸变校正,大大提高了全方位视觉图像畸变校正的实时性。
本系统是由Nor Flash存储SOPC系统的配置信息、系统运行程序及畸变地址映射表,每当系统通电,配置信息会初始化FPGA,在FPGA中实现Nios II系统,然后从Nor Flash调入程序到SDRAM中运行,在软件初始化时从Nor Flash中读取畸变地址映射表到SDRAM中。
全方位视觉系统还包括控制SOPC系统运行相应功能的按键,按键与SOPC中的按键端口引脚相连。还包括用于存储拍摄的全方位视觉图像文件的SD卡,所述SD卡与SOPC中的SD卡控制引脚相连,在系统运行时通过SD卡存储图像文件。
与现有技术相比,本发明解决了现有全方位视觉系统构建方法无法在小型嵌入式设备中实现全方位视觉图像实时采集、校正、显示的问题。具有体积小、成本低、功能可扩展性强的优点。
附图说明
图1是本发明的全方位视觉系统总体框图。
图2是本发明的鱼眼图像畸变校正方法流程图
图3是本发明的基于Nios II处理器的SOPC架构图。
图4是本发明的自定义IP结构图。
图5是本发明的图像传感器的数据输出格式。
图6是本发明的图像捕获模块结构图。
图7是本发明的图像整合模块结构图。
图8是本发明的LCD时序生成模块结构图。
图9是本发明的畸变校正的硬件模块功能原理图。
图10是本发明的畸变校正模块状态机的状态转换图。
图11是本发明的自定义IP核中的功能状态转换图。
图12是本发明的完整程序控制流程图。
具体实施方式
图1为本发明基于SOPC技术的全方位视觉系统的总体框图,它的构成包括:鱼眼镜头1、CMOS图像传感器2、SOPC系统3、Nor Flash4、SDRAM5、SD卡6、按键7、LCD显示器8,系统的具体实现方法如下:
1.系统整体架构实现:鱼眼镜头1和CMOS图像传感器2组成摄像头模组,通过该模组获取大于半球视场(360°x180°)的全方位视觉图像信息,并以一定时序将图像数据输出到SOPC系统3;SOPC系统采集全方位视觉畸变图像,并进行实时畸变校正,然后将原畸变图像数据或校正后的图像数据以一定时序输出,通过LCD显示器8进行预览显示;NorFlash4与SOPC系统3中的CFI Flash控制引脚相连,用来存储SOPC系统的配置信息、系统软件程序以及畸变地址映射表;SDRAM5与SOPC系统3中SDRAM控制引脚相连,作为SOPC系统3的内存单元;SD卡6与SOPC系统3中的SD卡控制引脚相连,存储拍摄的全方位视觉图像文件;按键7与SOPC系统3中的按键端口引脚相连,可以控制SOPC系统运行相应功能。
2.鱼眼畸变图像校正方法实现:系统中的全方位视觉图像是通过鱼眼镜头获取的,存在严重的畸变,因此需要对鱼眼畸变图像进行实时的校正处理,畸变校正流程如图2所示,图像中的每一个像素点信息均存储在内存中一个指点的地址单元中,也即对应一个坐标,假设畸变校正后像素的存储偏移地址为iAddr,通过地址变换计算出该点在畸变图像中对应的偏移地址为oAddr,然后将oAddr对应的像素信息存储到iAddr指向的存储单元中,完成像素映射的过程。依次将图像中的每个像素点都作同样的处理,即可完成整幅图像的畸变校正。具体的实现步骤如下:
1)获得三维空间点坐标:iAddr表示畸变校正后任一点的像素偏移地址,它们对应的虚拟空间坐标为(xa,ya,za)。xa,ya是iAddr对应的二维坐标值,由下面的公式得到,za是鱼眼镜头的标定参数。
y a = [ iAddr / 4 / w ] x a = ( iAddr - y a * w ) / 4 - - - ( 1 )
其中每个像素点占4个字节,[]代表取整,w代表图像宽度。
2)坐标变换:坐标变换是鱼眼图像畸变校正的核心算法,由如下步骤完成:
2.1)建立四阶多项式模型,如公式(2)所示:
r=b4θ4+b3θ3+b2θ2+b1θ+b0   (2)
θ = arctan z a x a 2 + y a 2 , x a 2 + y a 2 ≠ 0 θ = π 2 , x a 2 + y a 2 = 0 - - - ( 3 )
式(2)中的θ代表入射角,由公式(3)得到,r代表校正后像素点离畸变中心的距离,[b4,b3,b2,b1,b0]是多项式的系数参数,由鱼眼镜头参数标定获得。
2.2)由下面公式计算得出校正后的像素点的理想坐标:
x b = x a * r x a 2 + y a 2 y b = y a * r x a 2 + y a 2 - - - ( 4 )
2.3)通过仿射变换,获得真实图像坐标。由于系统采集和显示图像的分辨率均是640*480,因此需要进行仿射变换对原图像进行延伸,获得真实图像坐标,由下面公式所得:
x c y c = c d e 1 x b y b + x o y o - - - ( 5 )
式中的(xo,yo)代表畸变图像中心点坐标,[c,d,e]为仿射参数。
2.4)对上一步计算出来的值为小数的坐标进行插值。系统采用最近邻插值,对于二维平面,即取待测样点周围4个相邻像素点中距离最近1个相邻点的值作为待测样点的像素值。如下式所示:
g ( x c , y c ) = f ( x , y ) x = [ x c + 0.5 ] y = [ y c + 0.5 ] - - - ( 6 )
3)通过插值后的坐标值得到校正后的像素点在原畸变图像中对应的偏移地址,计算公式如下所示:
oAddr=y*w+x    (7)
4)像素映射:系统采取的后向映射,即通过输入畸变校正后的像素偏移地址iAddr,计算得出该点在畸变图像中对应的偏移地址oAddr。读取oAddr所指向的像素点数据并将该像素点的值存入iAddr所指向的单元,完成像素点的信息。
5)采用软硬协同校正充分保障全方位视觉畸变图像校正的实时性,如图2所示,将畸变校正流程分为地址变换和像素映射两个部分,地址变换的实质是坐标变换。对于同一类型的鱼眼镜头,其输出与输入的对应关系是一致的,即地址变换的输出是一样的,因此此部分实时性要求不高,且算法比较复杂,故将此部分由软件完成,使用软件先计算出校正后图像的所有像素点在原畸变图像中对应的偏移地址,并将它们全部存储在像素畸变地址变换表中,并通过配置硬件模块寄存器将映射表首地址传给硬件模块,但由于软件运算速度很慢,故将系统首次启动生成的畸变地址映射表存入Nor Flash中,再次启动时则只需要从Nor Flash中读取映射表即可,使获取映射表的速度大大提高;校正后的图像随着输入的畸变图像的变化而实时变化,因此像素映射部分实时性要求很高,且算法比较简单,将此部分用硬件实现,以提高图像校正速率,保障畸变图像校正的实时性。具体的实现步骤如下:
5.1)通过软件从Nor Flash中读取畸变地址映射表备份标记,并判断标记的值;
5.2)如果备份标记的值不等于1,则说明Nor Flash中未备份鱼眼图像畸变地址映射表,则通过软件进行畸变地址变换运算生成畸变地址映射表,然后置位备份标记,并将畸变地址映射表和备份标记写入NorFlash,接着转到步骤5.4;
5.3)如果备份标记的值等于1,则说明Nor Flash4中已经备份鱼眼图像畸变地址映射表,则直接从Nor Flash4中读取畸变地址映射表;
5.4)配置硬件畸变校正模块的寄存器,设置原始全方位视觉图像的存储地址,校正后图像的存储地址以及畸变址址映射表的存储地址;
5.5)启动硬件畸变校正功能,硬件畸变校正模块根据畸变地址映射表的对应关系依次完成整幅图像的校正。
3.SOPC系统实现:基于Nios II软核处理器SOPC系统是整个系统的控制运算单元,负责全方位视觉图像的采集处理、人机交互等系统的核心功能,整个SOPC系统的架构如图3所示,创建SOPC系统的实现步骤如下:
(1)通过SOPC Builder开发工具选择和配置Nios II CPU、JTAG调试单元、定时器、SDRAM控制器、Nor Flash控制器、SD卡控制器、时钟管理单元、GPIO端口,并由SOPC Builder自动生成总线互连逻辑连接这些模块,Nios II处理器与Avalon总线的工作频率均为100Mhz。
(2)使用硬件描述语言Verilog HDL设计自定义IP核,集成了如下子功能模块:图像采集模块,畸变校正模块、LCD控制器、专用DMA通道、功能状态机、寄存器组,该IP核实现全方位视觉图像的实时采集、畸变校正和显示功能,图4为自定义IP核的结构框图,该IP核的各个模块的实现如下:
(2.1)图像采集模块:负责通过I2C总线模块配置摄像头参数和工作方式,根据图像传感器的输出时序,采集并整合图像信息,然后将其存入图像输入FIFO,各子模块的描述如下:
(2.1.1)I2C配置模块:通过I2C总线方式对摄像头模块进行配置,包括分辨率、帧频、白平衡、曝光补偿、数据输出格式等;
(2.1.2)图像捕获与整合模块:图像捕获模块关键设计如图5所示,依据PCLK,行场同步行号LVAL与FVAL,进行图像数据采样,输出有效段信号DVAL,并为后级提供坐标计数值X_CNT,Y_CNT。图像传感器的像素输出格式如图6所示,每个像素点的RGB分量信息被分布在上下两行里。图像数据整合模块就是负责将它们整合成表1所示的RGB数据格式,图像整合模块设计图如图7所示,其中ALTSHIFT_TAPS是Altera公司提供的移位寄存器IP核,通过它可以将原始数据分别延迟一行和两行输出,然后再通过两个寄存器分别将输出Tap0,Tap1再延迟一个PCLK输出,则可以使R、G1、G2、B四个分量信号出现在同一个时钟节拍下,再根据前级提供的X_CNT,Y_CNT信号在偶数行,基数列进行分量信号整合计算。
表1 图像数据整合格式
Bits[31:24] Bits[23:16] Bits[15:8] Bits[7:0]
0 R (G1+G2)/2 B
(2.1.3)图像输入FIFO:由于整合后的像素点输出频率只12.5MHz,而系统总线时钟频率为100MHz,系统与外设数据传输速度不匹配,并且多个模块需要通过系统总线分时访问同一个图像数据存储器,因此采用异步FIFO对像素信息进行缓存。为了保证数据正确的写入或读出,就要根据FIFO空满状态及时进行FIFO的读写操作,使FIFO不能出现溢出或读空的状态。FIFO大小的选取也是相当重要,不能太大,太大系统资源不够,太小则缓存的作用有限。根据大量调试,设计的图像输入FIFO长度为512,位宽为24Bit,与像素点的位数一致。当FIFO中缓存的的像素点超过128个时,则置位图像存储标志,通过自定义DMA通道采用突发传输方式每次将FIFO中的128个像素信息存入SDRAM中,每次传输大概需要138个左右的总线时钟周期,平均每个像素点的存储时间大约只需一个总线时钟周期,极大的提高了传输效率。
(2.2)LCD控制器:负责从SDRAM中读取图像数据,并根据LCD时序把图像数据推送至LCD显示设备,以实现图像的预览显示,由如下两个模块组成:
(2.2.1)LCD驱动:LCD时序类似于VGA时序,LCD时序产生模块设计如图8所示,模块在25MHz输入时钟的激励下分别驱动行同步、场同步计数器,并把计数值与LCD时序参数作比较,从而产生符合标准的LCD行同步信号HSYNC、场同步信号VSYNC,并根据相应激励状态向图像输出FIFO中请求要显示的像素数据。
(2.2.3)图像输出FIFO:LCD控制器的工作时钟也与系统总线时钟不匹配,并且图像采集和畸变校正模块也需要通过系统总线分时访问SDRAM,因此也需要通过异步FIFO对要显示的像素信息进行缓存。经过大量测试,图像输出FIFO的长度设为512,位宽为24位,当FIFO少于384个数据,则置位图像读取标志,在总线空闲时间通过自定义DMA通道采用突发传输方式每次从SDRAM中读取128个像素信息,每次传输仅需要138个左右的总线时钟周期,平均每个像素点的读取时间大约只有一个总线时钟周期,极大的提高了传输效率。
(2.3)畸变校正模块:鱼眼图像畸变校正,采用软硬协同校正方法实现,其中地址变换部分是由软件完成,生成校正后图像的每个像素点在原畸变图像中对应的像素偏移地址值,并将其全部存储于畸变地址映射表中,最后由硬件模块根据映射表的对应关系完成畸变图像校正。
(2.3.1)硬件模块功能原理简单示例如图9所示,设原畸变图像在SDRAM中的首地址为Sa,像素偏移地址为oAddr,映射表的首地址为Ta,校正后的图像首地址为Da,像素偏移地址为iAddr,iAddr初始值为0,对应坐标为(0,0)。整个步骤分为如下四步:
(2.3.1.1)首先根据地址Ta+iAddr的值从畸变地址映射表中读出校正后像素(Da+iAddr对应的像素,此时对应坐标为(0,0))在畸变图像中对应的像素偏移地址oAddr,如图9(b)所示,此时对应坐标为(0,1);
(2.3.1.2)然后根据Sa+oAddr的值从原畸变图像中读出对应坐标(0,1)的像素值,如图9(a)所示,此时它所对应的像素信息为红色;
(2.3.1.3)最后将该红色像素信息存入校正后像素地址Da+iAddr对应的坐标单元(0,0),如图9(c)所示;
(2.3.1.4)将iAddr的值从0依次递增到640*480-1,然后重复上述三个步骤,即可完成整幅图像的畸变校正。
(2.3.2)缓存设计:根据Avalon总线协议,总线突发传输效率最高,因此要使传输效率最高,就要尽量使用突发传输方式,而突发传输的前提条件是被访问的从端口地址必须是连续的。由于畸变地址映射表存储的地址值不是连续的,因此畸变校正模块的步骤二,读取像素点的信息无法进行突发传输。
为了提高图像数据访问效率,步骤一和步骤三采用突发传输,步骤二采用普通传输方式。突发传输一次要进行多个数据的传输,因此需要将准备传输的数据缓存起来,包括步骤一读取的地址和步骤二读取的像素。本模块使用地址连续的寄存器作为缓存,缓存的长度即代表了突发传输的长度,也即代表该模块每次运行所占用的总线时钟周期。
由于图像采集模块、LCD显示模块以及畸变校正模块是分时对SDRAM进行访问,如果缓存太大,则畸变校正模块每次运行会占用过多的总线时钟周期,使得图像采集模块和LCD显示模块不能及时访问SDRAM,导致图像输入FIFO溢出和图像输出FIFO为空的情况。如果缓存太短,则畸变校正模块访问SDRAM的效率过低,因此要经过大量测试选择合理的缓存长度。
经过大量测试,本模块设计的缓存长度为64。畸变校正步骤一每次从畸变地址映射变突发读取64个畸变地址到地址缓存所需要的总线时钟数约为74;校正步骤二根据步骤一读取的畸变地址读取每个像素需要的总线时钟约为8,读取64个像素到像素缓存所需要的总线时钟约为512;步骤三将像素缓存中的64个像素值采用突发传输写入校正后图像存储单元需要的总线时钟约为72。因此本模块每次校正64个像素点需要的总线时钟数约为(512+74+72)=658。
(2.3.3)状态机:畸变校正模块的状态机主要是控制畸变校正的三个步骤分时有序完成。主要包括五个状态,分别定义为读地址状态ADDR_RD,读像素点状态PIXEL_RD,写像素点到对应地址状态PIXEL_WR,空闲态IDLE,和结束态STOP。状态转换图如图10所示,只要畸变校正使能被功能控制器置为1,并且当前总线空闲,即没有其它模块访问SDRAM,则开始依次进行硬件畸变校正的三个步骤,步骤自动连续执行,中间没有任何打断。
(2.3.4)畸变校正帧率:经计算,每秒畸变校正帧率的理论值约为23.8fps,经测试实际的校正帧率约为22fps,大于图像输入的帧率15fps,达到全方位视觉图像畸变校正的实时性要求。
(2.4)功能状态机:图像采集模块、LCD控制以及畸变校正模块都被集成在同一个IP核中,都要通过同一个自定义DMA通道分时对SDRAM进行访问。功能状态机的主要功能就是根据一定的逻辑判断规则控制各个模块分时有序访问SDRAM。
图像采集模块在图像输入FIFO超过128个像素数据时,置位存储图像使能Image_Store_En=1;VGA控制器在图像读取FIFO少于384个像素数据时,置位图像读取使能,Image_Read_En=1;当上面两种情况都不满足时,则置位畸变校正使能,Distortion_Correction_En=1。功能控制器则根据这些使能信号,进行功能状态切换,状态转换图如图11所示,该模块由软件通过配置寄存器启动,当模块启动后,则根据各模块工作使能信号进行相应工作状态切换。LCD显示帧频是60fps,而摄像头的图像输入帧频是15fps,说明每秒图像读取的次数要高于图像存储的次数,因此将图像读取的优先级置为最高,工作流程如下所示:
(2.4.1)IDLE:系统上电复位后,则自动进入IDLE状态,当软件通过配置寄存器启动模块运行后,则根据各模块工作使能信号进行相应工作状态切换。
(2.4.2)IMAGE_READ:当系统处于IDLE状态时,只要图像读取使能Image_Read_En=1,则系统进入图像读取状态(IMAGE_READ),通过DMA通道从SDRAM中读取128个像素信息到图像输出FIFO中,然后自动进入STOP态。
(2.4.3)IMAGE_STORE:当系统处于IDLE状态时,如果不满足图像读取条件,且图像存储使能Image_Store_En=1,进入图像存储状态(IMAGE_STORE),通过DMA通道将图像输入FIFO中的128个像素信息写入SDRAM中,然后自动进入STOP态。
(2.4.4)DISTORTION_CORRECTION:当系统处于IDLE状态时,如果既不满足图像读取条件,也不满足图像存储条件,则进入畸变校正状态(DISTORTION_CORRECTION),一次校正64个像素点,然后自动进入STOP态。
(2.4.5)STOP:在该状态,进行图像存储地址指针、图像读取地址指针、畸变校正地址指针的自增操作,以及相应标志位清0操作,然后自动回到IDLE态。
(2.5)系统寄存器组:系统寄存器组用于配置和控制自定义IP核内部各个功能模块,它们挂载在Avalon总线上,IP核内部共设计16个32位的寄存器,用于配置相应的模块,主要包括:采集图像的存储单元配置寄存器,显示图像的存储单元配置寄存器,畸变地址映射表存储地址配置寄存器,校正后图像存储地址配置寄存器以及模块功能使能控制寄存器等。
(2.6)DMA通道:通过Avalon总线的传输协议,使用硬件描述语言Verilog HDL设计读写逻辑,通过主端口信号线,在自定义IP与SDRAM之间直接传输数据,大大提高数据传输的效率。
(3)系统控制程序实现:系统控制程序流程如图12所示,通过C语言编程实现。系统在上电复位后进行系统初始化,然后获得畸变坐标映射表,接着系统处于图像预览模式中的原图像预览模式。主要流程步骤如下:
(3.1)系统初始化,主要包括以下方面:
(3.1.1)内存空间初始化:主要包括定义畸变地址映射表存储空间、原畸变图像存储空间以及校正后图像存储空间;
(3.1.2)系统GPIO口初始化:主要是设置GPIO端口的方向和初始值;
(3.1.3)定时器初始化:设置按键扫描定时间隔以及系统计数时间间隔;
(3.1.4)摄像头参数配置:编写I2C接口驱动,配置摄像头的工作方式;
(3.1.5)图像采集初始化:设置采集图像的存储地址,以及图像的宽度和高度,并启动图像采集功能;
(3.1.6)LCD显示初始化:设置需要显示图像的内存区域,并启动显示功能。
(3.2)获取畸变地址映射表:首先从Nor Flash中读畸变地址映射表备份标记,判断是Nor Flash中是否已经备份了映射表。如果没有备份,则要通过畸变校正算法计算出畸变地址映射表,然后将映射表和备份标记存储到Nor Flash中;如果Nor Flash已经备份,则只需要读取Nor Flash中的畸变地址映射表到内存SDRAM中。
(3.3)系统进入图像预览模式:首先进入原始全方位视觉畸变图像预览模式。
(3.4)按键触发:主要设置如下三个按键:
(3.4.1)畸变校正按键:通过这个按键,可以在启动、停止畸变校正功能之间进行切换;
(3.4.2)预览模式切换按键:可通过它选择预览原畸变图像还是预览校正后的全方位视觉图像;
(3.4.3)拍摄按键:按下它则可以进行拍照功能,将全方位视觉图像存储到SD卡中。

Claims (8)

1.一种基于SOPC的全方位视觉系统,其特征在于,包括:鱼眼镜头、CMOS图像传感器、SOPC、Nor Flash、SDRAM和显示器,
所述鱼眼镜头和图像传感器组成摄像头模组,并将摄像头模组的图像数据输出引脚与SOPC中图像采集相应功能引脚相连,Nor Flash与SOPC中的Flash控制引脚相连,SDRAM与SOPC中SDRAM控制引脚相连,显示器与SOPC中图像输出相应功能引脚相连;
所述SOPC是由Nios II处理器、Avalon总线、图像采集模块、畸变校正模块、LCD控制器、各种存储设备控制器以及I/O外设整合到一起,成为一个独立、可编程的全方位视觉系统芯片,形成最终的SOPC。
2.根据权利要求1所述的基于SOPC的全方位视觉系统,其特征在于,由单个鱼眼镜头和CMOS图像传感器组合成摄像头模组,通过该模组获取大于半球视场(360°x180°)的全方位视觉图像信息,并以一定的时序将图像数据输出给SOPC。
3.根据权利要求1所述基于SOPC的全方位视觉系统,其特征在于,所述显示器为LCD显示器。
4.根据权利要求3所述基于SOPC的全方位视觉系统,其特征在于,基于Nios II的SOPC的创建包括以下步骤:
a)通过SOPC Builder开发工具选择和配置Nios II CPU、JTAG调试单元、SDRAM控制器、Nor Flash控制器、SD卡控制器、时钟管理单元、串口控制器、定时器;
b)设计自定义IP核,集成了I2C配置模块、图像采集模块,畸变校正模块、LCD控制器、专用DMA通道、异步FIFO、寄存器组,该IP核实现全方位视觉图像的实时采集、畸变校正和显示功能;
c)通过SOPC Builder工具自动生成Avalon总线互连逻辑,组织和连接各个模块,形成一个完整的SOPC。
5.根据权利要求4所述基于SOPC的全方位视觉系统,其特征在于,采用软硬协同设计方法对通过鱼眼镜头获取的全方位视觉图像进行实时畸变校正处理,系统首次启动,通过软件运行坐标变换算法生成鱼眼图像畸变地址映射表,并将畸变地址映射表存入Nor Flash,系统再次启动,则直接从Nor Flash中读取畸变地址映射表到内存SDRAM中,然后配置自定义的IP核的寄存器,将映射表的存储地址传给自定义IP核中的畸变校正模块,由畸变校正模块依次完成整幅图像的畸变校正。
6.根据权利要求5所述基于SOPC的全方位视觉系统,其特征在于,由Nor Flash存储SOPC系统的配置信息、系统运行程序及畸变地址映射表,每当系统通电,配置信息会初始化FPGA,在FPGA中实现Nios II系统,然后从Nor Flash中调入到SDRAM中运行,在软件初始化时从Nor Flash中读取畸变地址映射表到SDRAM中。
7.根据权利要求1至6任一项所述基于SOPC的全方位视觉系统,其特征在于,全方位视觉系统还包括控制SOPC系统运行相应功能的按键,按键与SOPC中的按键端口引脚相连。
8.根据权利要求1至6任一项所述基于SOPC的全方位视觉系统,其特征在于,全方位视觉系统还包括用于存储拍摄的全方位视觉图像文件的SD卡,所述SD卡与SOPC中的SD卡控制引脚相连。
CN201410424442.9A 2014-08-26 2014-08-26 一种基于sopc的全方位视觉系统 Pending CN104243781A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410424442.9A CN104243781A (zh) 2014-08-26 2014-08-26 一种基于sopc的全方位视觉系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410424442.9A CN104243781A (zh) 2014-08-26 2014-08-26 一种基于sopc的全方位视觉系统

Publications (1)

Publication Number Publication Date
CN104243781A true CN104243781A (zh) 2014-12-24

Family

ID=52231058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410424442.9A Pending CN104243781A (zh) 2014-08-26 2014-08-26 一种基于sopc的全方位视觉系统

Country Status (1)

Country Link
CN (1) CN104243781A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104883477A (zh) * 2015-04-30 2015-09-02 北京小鸟看看科技有限公司 一种视频数据预畸变处理方法、装置及头戴显示器
CN107493419A (zh) * 2017-09-27 2017-12-19 中国科学院长春光学精密机械与物理研究所 一种一体小型化高速实时图像获取装置
CN107863149A (zh) * 2017-11-22 2018-03-30 中山大学 一种智能牙医系统
CN108632505A (zh) * 2018-03-21 2018-10-09 西安电子科技大学 一种基于SoC FPGA的高动态视频处理系统
CN110502198A (zh) * 2018-09-29 2019-11-26 国核自仪系统工程有限公司 基于fpga的界面显示系统
CN110737628A (zh) * 2019-10-17 2020-01-31 辰芯科技有限公司 一种可重构处理器和可重构处理器系统
CN111711745A (zh) * 2020-05-06 2020-09-25 中国科学院西安光学精密机械研究所 便携式cameralink数据采集系统和采集方法
WO2024103821A1 (zh) * 2022-11-15 2024-05-23 浪潮电子信息产业股份有限公司 一种数据搬移方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080307186A1 (en) * 2007-06-06 2008-12-11 Micron Technology, Inc. Conformal rolling buffer apparatus, systems, and methods
CN101783011A (zh) * 2010-01-08 2010-07-21 宁波大学 一种鱼眼镜头的畸变校正方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080307186A1 (en) * 2007-06-06 2008-12-11 Micron Technology, Inc. Conformal rolling buffer apparatus, systems, and methods
CN101783011A (zh) * 2010-01-08 2010-07-21 宁波大学 一种鱼眼镜头的畸变校正方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李博: "基于全景立体球视觉的图像采集预处理系统的设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
齐志强: "基于FPGA的全方位视觉图像畸变校正", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104883477A (zh) * 2015-04-30 2015-09-02 北京小鸟看看科技有限公司 一种视频数据预畸变处理方法、装置及头戴显示器
CN104883477B (zh) * 2015-04-30 2018-05-15 北京小鸟看看科技有限公司 一种视频数据预畸变处理方法、装置及头戴显示器
CN107493419A (zh) * 2017-09-27 2017-12-19 中国科学院长春光学精密机械与物理研究所 一种一体小型化高速实时图像获取装置
CN107863149A (zh) * 2017-11-22 2018-03-30 中山大学 一种智能牙医系统
CN108632505A (zh) * 2018-03-21 2018-10-09 西安电子科技大学 一种基于SoC FPGA的高动态视频处理系统
CN108632505B (zh) * 2018-03-21 2020-12-01 西安电子科技大学 一种基于SoC FPGA的高动态视频处理系统
CN110502198A (zh) * 2018-09-29 2019-11-26 国核自仪系统工程有限公司 基于fpga的界面显示系统
CN110737628A (zh) * 2019-10-17 2020-01-31 辰芯科技有限公司 一种可重构处理器和可重构处理器系统
US12001381B2 (en) 2019-10-17 2024-06-04 Morningcore Technology Co., China Reconfigurable processor and reconfigurable processor system
CN111711745A (zh) * 2020-05-06 2020-09-25 中国科学院西安光学精密机械研究所 便携式cameralink数据采集系统和采集方法
CN111711745B (zh) * 2020-05-06 2021-06-22 中国科学院西安光学精密机械研究所 便携式cameralink数据采集系统和采集方法
WO2024103821A1 (zh) * 2022-11-15 2024-05-23 浪潮电子信息产业股份有限公司 一种数据搬移方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN104243781A (zh) 一种基于sopc的全方位视觉系统
CN101226050B (zh) 基于数字信号处理器的双相机直拉单晶直径测量方法
US10148875B1 (en) Method and system for interfacing multiple channels of panoramic videos with a high-definition port of a processor
CN101309430A (zh) 基于fpga的视频图像预处理器
CN103595924B (zh) 一种基于Cameralink的图像融合系统及其方法
CN102663758A (zh) 一种基于fpga控制核心的图像采集及处理方法
CN103442180A (zh) 基于sopc的双目视频拼装置及双目视频拼接方法
CN201937742U (zh) 一种高速图像采集系统
CN108053385A (zh) 一种鱼眼视频实时矫正系统及方法
CN110730304B (zh) 一种加速图像采集和显示的智能相机
CN104717485A (zh) 一种基于fpga的vga接口裸眼3d显示系统
CN208956216U (zh) 基于低照度摄像头同步采集长距传输的大型车环视系统
CN103106641A (zh) 应用于全景成像系统的投影变换方法以及装置
CN204408489U (zh) 一种高速图像采集处理系统
CN109089048A (zh) 多镜头全景联动装置及方法
CN203773915U (zh) 硅基液晶显示屏驱动芯片
CN115955589A (zh) 基于mipi的优化视频拼接方法、系统和存储介质
CN207854046U (zh) 一种激光测距仪及其激光测距显示控制系统
CN203522895U (zh) 基于sopc的双目视频拼装置
CN205102925U (zh) 可变帧频红外热像仪
CN105426849A (zh) 多模态生物识别装置及其进行图像采集的方法
CN105426885A (zh) 多模态生物识别装置及其进行图像传输的方法
CN111200727A (zh) 一种基于深度感知的三维图像处理系统
CN206195927U (zh) 一种用于手势图像实时处理的装置
CN206100248U (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
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20151126

Address after: 510006 Panyu District City, Guangdong Province, University of outer ring road, No., No. 132

Applicant after: Sun Yat-sen University

Applicant after: SYSU HUADU INDUSTRIAL SCIENCE AND TECHNOLOGY INSTITUTE

Address before: 510006 Panyu District City, Guangdong Province, University of outer ring road, No., No. 132

Applicant before: Sun Yat-sen University

Applicant before: Sysung Electronics and Telecomm Research Institute

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20141224