Profile - CN366


CN366

运动物体自动追踪拍摄系统

哈尔滨工业大学
实验学院


Finals


[print]


Project

Name of Project:运动物体自动追踪拍摄系统

Contact Information

Name:徐聪
E-Mail:xucong@hit.edu.cn
Telephone:0451-86413533-404
Mobile Phone:13654586889
Mailing Address:哈尔滨工业大学A04公寓352室

Contest Advisor

Name:杨春玲
E-Mail:yangcl1@hit.edu.cn
Telephone:13019729991

Members

No.NameE-MailEnglish Name
1徐聪xucong@hit.edu.cnxucong
2胡新安huxinan2008@163.comhuxinan
3杜伯阳ahdu007007@gmail.comduboyang

Project Paper - view as Preliminary(2009/06/15), Final(2009/09/14), Draft, Latest

1. 设计概述 (Preliminary Paper)

1.1设计意图

视频监控系统得到了越来越广泛的应用,不同的场合提出了不同的要求。比如对演讲者进行追综拍摄,大学中需要经常对老师授课进行全程录制或对讲座的演讲进行全程的跟踪拍摄,采用人工手动拍摄完成,工作量大需持续数个小时且异常乏味,极易出现人为失误,所以多采用视频监控系统进行图像采集。传统的视频采集系统多采用固定图像采集,这对采集既定目标的图像有一定的弊端。由于固定了图像采集点,且摄像头只有一定的采集角度,如C1M1 Compact Camera Cube摄像头,其水平方向的图像采集视角角度范围为,这就可能出现需要采集的目标运动到采集范围之外从而采集的图像丢失既定目标的情况;其次,即使既定目标在采集范围内,采集到的结果也不好,如老师在讲台上来回走动,在边角出现时的采集效果就很不好。

本设计旨在通过视频图像的捕捉,并识别其中特定的物体,对该物体进行追踪拍摄,即通过调整视频采集设备的方向,维持该物体在图像中的位置不变,实现特征物体的自动追踪。

                                                                         图1.1 对运动中的特征物体进行识别

在很多情况下,使用自动追踪系统,相对于传统的不追踪模式以及手动追踪,拥有几点明显的好处。首先,可以防止出现既定目标出现在图像边角甚至不在图像之内的情况;其次,相对于自动跟踪系统,手动追踪的跟踪调整速度远远不能与自动系统相比,在大多数情况下,就图像采集效果而言,自动系统的效果要好于手动追踪;第三,对某些监控系统,需要长时间甚至全天24小时进行监测追踪拍摄,采用人工手动来完成,工作量大且乏味,会引发人为失误并造成很大的人力浪费。在这些情况下,应用自动追踪系统能够收到较好的效果。

特征物体的识别追踪具有广阔的应用前景。例如:对目标实现追踪是机器视觉、视频雷达和视觉导航的必要组成部分,此外这中追踪系统可以实现在球类比赛中追踪拍摄球的运动,在公共场所的监控设备中自动锁定疑犯并报警,在博物馆等场所中锁定特定藏品在其位移超过阈值后给出警示,在运动中拍摄运动或静止物体(如航拍)中保持图像稳定,某些特定区域在有运动物体进入时监控系统产生报警信号并对进入监控区域的物体进行跟踪(例如交通检测系统,某些监控防护系统)等应用。

                                             图1.2 特认证识别与追踪在辅助驾驶系统中的应用

本设计的最终目标就是应用Nios II处理器构建一个能够实现上述功能的特征物体动态追踪系统。

1.2适用范围及针对人群

本设计使用于需要经常录制课程或讲座的学校,摄像师,有监控需求的单位。在换用高速摄像机并提高图像处理系统及控制系统的速度后还可适用于某些交通检测系统中。

1.3 Nios II处理器的优势

由于本设计需要进行高速的数据采集、大量的图像处理、完成电机的控制,采用Nios II处理器可以很好的适应这一设计要求。

1.Nios II处理器提供的创新的SOPC设计理念。Nios II软核优异的性能可以完成对大量数据的告诉处理,Nios II软核系统的性能是可以根据应用来进行裁减的,定制用户自己的系统,并能轻松实现多核处理器,具有传统固定处理器无法比拟的灵活性。具有丰富的IP核库,方便用户设计,有效的提高系统的运算能力。Nios II的用户逻辑功能和用户指令突现Nios II 处理器的技术亮点,提供了运算优化、加速的一个有效途径,将处理速度提高到一个相当的层次,易于实现算法的商用化;

2.DSP Builder丰富的功能模块和灵活的自定义指令。有了在DSP Builder,使得我们能在Simulink下进行算法级的系统开发。并且可以将特征识别算法设计成自定义用户指令,利用SOPC Builder和Quartus® II软件集成至Nios II嵌入式系统处理器中,通过软件调用该自定义指令完成DSP算法;

3.C2H对设计的有力支持。Nios II提供的C2H编译器能够将对性能要求较高的C语言程序自动转换为硬件加速器,集成到基于FPGA的Nios II子系统中。这样,分担了Nios II处理器的数据计算和存储器访问功能,使处理器能够更好的处理其他任务。由于Avalon互联架构并没有限制主机和从机的数量,因此,Nios II C2H编译器可以根据转换目标代码的要求,产生多个存储器自治硬件加速器,帮助嵌入式系统开发人员提高效率,实现成功的设计。

 

(Revision: 5 / 2009-09-15 02:24:34)

2. 功能描述 (Final Project Paper)

2.1 系统功能描述

1.对周围环境扫描拍摄

对周围环境进行扫描拍摄,采集拍摄背景,为设定追踪模式提供参考。进行全景扫描,寻找人脸作为追踪目标。

2.设定在追踪过程中,目标物体中心在追踪图像中的参考坐标

追踪过程保证追踪目标保持在图像的一定位置,这个位置应保证追踪目标处在图像中的合适位置。例如追踪演讲人,进行人脸识别追踪,应保证人脸处在图像的中间部分,即需要确定目标物体中心在追踪图像中所处的位置,称之为参考坐标。本设计应该支持参考坐标的设定,在没有输入的情况下,默认参考坐标为图像正中位置。

3.设定追踪方式

根据周围环境、追踪目标运动状态以及具体使用(例如摄影家摄影)的不同,可以由系统自动设定或由使用者手动设定不同的追踪方式,追踪方式可以分为全自动追踪、按某种预设追踪模式追踪或手动设定控制参数。

全自动追踪模式,适用于追踪目标运行无规律的情况。例如拍摄老师授课过程,老师的运动是没有规律的,可以采用全自动追踪模式。

预设追踪模式,适用于摄像头于追踪目标之间的相对运动具有某种规律时:

    1)在拍摄者运动状态下拍摄静止的物体(例如航拍时对固定目标进行拍摄)。

    2)在拍摄者静止状态下拍摄运动的物体(例如奔跑中的动物)。

4.锁定既定目标物体

对摄像头采集的图像进行处理,经过特征物体识别后,对特征物体中心在图像中的坐标进行定位,并与参考坐标进行比较,即可得出既定目标相对于参考点的偏差,将偏差值传递给控制算法模块。

5.对目标物体进行追踪拍摄

在获得目标物体相对于参考坐标的偏差后,采用数字PID结合模糊控制、遗传算法等计算出电机的控制参数,操纵摄像头瞄准目标物体。并使用SIP算法来完成控制系统的设计,保证控制系统的收敛性。

6.实时显示采集后的图像

将采集到的图像实时显示到LCD显示器上。通过显示的图像与目标物体实际位置的对比,可以检测追踪系统的追踪效果。

2.2软件模块详述

根据系统的工作流程以及功能将整个系统划分为以下几个模块:图像预处理模块、静态特征物体识别模块、动态物体追踪模块、电机控制模块、参数获取模块以及信息反馈模块。下面就各个模块的功能及实现详细介绍系统构成:

1.图像预处理模块,为了提高特征物体识别的准确率和减少图像噪声的干扰,需要对图像进行一定的预处理,在此模块中将包括RGB图像到灰度图像的转换、利用高斯滤波对图像中的噪声进行过滤以及利用低通滤波对图像进行平滑处理等操作。经由此模块处理过的图像将转交给特征物体识别模块和动态物体追踪模块进行处理。

2.静态特征物体识别模块,此模块将对图像中出现的特征物体进行识别,在获取经过预处理的图像之后,通过相应的匹配(识别)算法识别出图像中出现的特征物体;之所以称之为“静态”是因为此模块处理的对象是一帧独立的图像。模块的处理结果(识别结果)将被用作动态物体追踪模块的参考数据和信息反馈模块的反馈信息的一部分。

在特征物体识别方面,人脸识别技术是目前最前沿最热门,也是应用前景最为广阔的识别算法。而主流的人脸识别技术基本上可以归结为三类:基于几何特征的方法、基于模板的方法和基于模型的方法。其中,基于几何特征的方法是最早、最传统的方法,通常需要和其他方法才能有比较好的效果;基于模板的方法可以分为基于相关匹配的方法、特征脸方法[图4.1]、线性判别分析方法、奇异值分解方法、神经网络方法、动态连接匹配方法等;基于模型[图4.2、图4.3]的方法则有基于隐马尔柯夫模型、主动形状模型和主动外观模型的方法等。

       图4.1 标准特征脸

      图 4.2 不同的人脸建模方式

 

                    图 4.3 人脸特征点分布

       3.动态物体追踪模块,此模块将通过处理图像序列来追踪图像中的运动特征物体。为了提高追踪的准确率和效率,在此模块实现的时候将引进静态特征物体识别的结果作为参考数据。

         目前,动态物体的追踪算法可以分为:

         1)基于运动分析的方法,主要包括帧间查封方法和光流分割法

         2)基于图像匹配的方法,主要分为区域匹配、特征匹配、模型匹配以及频率域匹配

    在这些方法中都有各自的优缺点和应用背景,如基于运动分析的方法中,帧差法最简单,速度快,易于硬件实现,但简单的帧差法只能适用于静止背景,为了适应动态背景,必须对摄像机进行运动补偿后再进行差分;而光流分割法具有较强的抗干扰性,但不能有效区分目标运动造成的背景遮拦、显现以及孔径等问题,计算量大,需要特殊的硬件支持。如果光照强度或者光源方位发生了变化,则会产生错误。本设计中采用基于模式识别的人脸检测追踪方法。

          图 4.4 运动物体追踪效果图

       4.电机控制模块负责通过控制两个电机的转动来调整摄像机的俯仰角和水平角度,此模块接收动态物体追踪模块的处理结果作为参数,根据这些参数,由控制算法计算出电机控制信号,调整摄像机的姿势,从而使得运动物体在摄像机视野中出现的位置符合用户设定的要求。

         图 4.5 电机水平方向调整示意图

 

 

 

       5.信息反馈模块,为了有更好的用户体验,系统将通过此信息反馈模块,实时地将系统的处理结果(包括静态特征物体识别的结果和动态追踪的结果)通过USB接口反馈给上位机应用程序。这样方便用户对系统运行状况的监视,同时可以使用户能更好地对系统的参数进行设定。

(Revision: 3 / 2009-09-15 11:32:16)

3. 性能参数 (Final Project Paper)

 

3.1各模块性能参数

1.人脸检测算法性能参数
测试用图像为384*300的灰阶图像,我们分别在Nios软件、Nios软件+硬件加速两种情况下测试了对相同大小的图像进行了测试,结果如下表。
实现方法
Nios软件
Nios软件+硬件加速
时间
7 ~ 30s
0.5 ~ 3s
表3.1人脸检测算法实现方法性能对比
2.图像采集模块参数
图像分辨率:512*400
原始数据格式一帧图像数据: 1024*800*10bit
图像格式转换后:512*400*30bit
每采集一帧图像的时间:72ms
3.预处理模块参数
灰阶化后图像数据: 512*400*8bit
图像剪裁后:384*300*8bit
4.位置式数字PID模块性能参数
控制信号计算延迟:4 时钟周期,在100MHz运行频率下;
计算精度:比例运算为9位有符号数定点乘法,积分环节为18位有符号数定点乘法,微分环节为9位有符号数定点乘法,输出为27位有符号数。
5.PWM模块性能参数
周期计数器1个,独立占空比寄存器2个;
周期计数器精度:21位;
占空比寄存器精度:20位。
6.自制云台参数
工作范围:垂直轴旋转±170°,水平轴旋转±170°,回程差1°;
空载转速:200°per second;
外形尺寸:110mm * 150mm;
重量:400g(含舵机)。
 

3.2FPGA和开发板板载资源使用情况

   
图3.1 系统编译报告-资源占用
注:本设计的FPGA Project在原示例工程DE2_NET基础上修改而成。
 
视频采集模块和人脸检测算法运行中,分别占用开发板上的全部512KByte SRAM 和几乎全部8MByte SDRAM;Nios II软件系统镜像占用4MB FLASH中的2MB左右;此外还使用了板载50 MHZ晶振以及七段数码管、开关、按键等。
 

3.3Cyclone II FPGA在本设计中的作用

Cyclone II FPGA为本设计的核心器件,在设计中发挥了至关重要的作用:
首先,通过它对于Nios II嵌入式软核处理器的支持,使实现复杂的人脸检测算法成为了可能,承担了艰巨的运算任务;
其次,利用Cyclone II FPGA片上的嵌入式乘法器模块,实现了硬件加速,使得很多耗时巨大的算法流程得以在可以在系统要求的时间内完成,大大缩减了算法延时;
再次,利用Cyclone II FPGA丰富的片上RAM资源作为数据缓存,提高设计的集成度减小逻辑占用面积,利用乒乓存储等方式进一步减小读写冲突,提高运行效率;
最后,利用Cyclone II IO模块中对于多种片外存储器的支持,可以满足本设计中算法对于存储空间的巨大需求。

 

(Revision: 10 / 2009-09-15 11:01:00)

4. 设计结构 (Preliminary Paper)

4.1硬件概述

        基于摄像头的运动物体追踪系统由摄像头、具有两轴旋转功能的底座、两个伺服电机、DE2开发板、显示设备、计算机组成。

        摄像头完成图像采集,将图像数据传输给DE2开发板,由FPGA中的摄像头接口逻辑对图像预处理,再由Nios II执行识别算法和控制算法,识别特征物体,并输出控制信号给两个伺服电机,调整摄像头方向,同时由VGA显示接口将捕捉到的图像在显示器上显示出来。

                                                                            图4.1 硬件设计框图

4.2软件概述

上位机中的应用程序启动之后,将会对下位机进行初始化,同时发送电机控制信号,使摄像头扫描全部周围环境,然后将识别到的特征物体显示出来以供用户选择要追踪的特征物体。在选定特征物体之后,用户可以将系统切换到自动运行模式,在此模式下,系统将自动对用户选定的特征物体进行追踪拍摄;用户也可以选择手动模式,此模式下,用户可以通过上位机的应用程序手动调整摄像机的姿势。通过应用程序提供的界面,用户可以设定系统运行的参数,如限定特征物体出现在摄像机视野中的范围、电机转动的步进等。同时,上位机中的应用程序将通过USB接口接收下位机中传回的反馈信息,通过在视频中绘制搜索框(以方框等形式表示出特征物体)来显示追踪拍摄的结果,以供用户参考。除上述功能之外,上位机中的应用程序将提供视频录制和截图功能,在使用这些功能的时候,用户可以选择是否包括反馈信息的显示。

以下为系统(上位机和下位机)模块划分图和运行流程图:

 

                                                                               图4.2 系统模块图

                                        图4.3上位机程序执行的基本流程

(Revision: 3 / 2009-06-16 00:40:13)

5. 设计方法 (Final Project Paper)

 

整个设计使用Altera SOPC Builder围绕Nios II处理器通过Avalon总线展开,所有模块利用Avalon总线灵活的端口信号和方便的仲裁与地址对齐功能实现通信,图中有两个用户自定义模块,分别是预处理模块用来向SDRAM写入数据的主端口,和舵机控制模块(PID与PWM)用来接收CPU给出的人脸中心位置坐标的从端口(Control_unit),系统构成如下图:
图5.1 SOPC系统结构图
下图是SOPC Builder中所有模块列表:
 
图5.2 SOPC模块

5.1人脸检测功能的实现

1.检测算法:
       最初我们根据程序需要实现的功能采用了uClinux嵌入式操作系统加上OpenCV移植版本的结构,但是经过实验验证发现并不可行,原因为OpenCV对硬件资源的要求较高,竞赛所用的开发板上带的8MB SDRAM不能满足其要求,所以我们决定采用另一个轻量级的基于Haar-like特征的快速检测方法,同时为了加快检测速度我们去掉了嵌入式操作系统这一层,直接将程序通过NIOS II IDE进行编译,然后下载运行。
在程序的实现过程中,我们参考了sourceforge.net上人脸检测的相关工程,其中FaceFinder符合我们的实现要求。FaceFinder工程实现的是基于Haar-like特征的快速人脸检测算法,利用的积分图的方法实现人脸检测。
为了将FaceFinder工程移植到我们的工程中,我们对FaceFinder中的C++代码进行了修改,将C++代码改用C代码实现,这样可以将部分运算通过C2H编译器进行加速。遗憾的是,我们所用的人脸检测算法是浮点运算版本,而C2H不支持浮点运算的加速,所以检测的一部分运算没有得到加速,但检测的精度和检测的时间消耗仍在可接受范围内。
图 5.3 人脸检测程序的流程图
 
2.C2H编译
C2H为软硬件划分设计提供了极大的便利。软硬件协同划分设计是在消耗资源与系统性能寻找一个最佳的平衡点。传统的设计中,在设计方案确定之后,若要重新进行软硬件划分,会给设计带来极大的不便并严重影响实现进度,Nios II提供的C2H编译器能够对性能要求较高的C语言程序自动转换为硬件加速器,集成到基于FPGA的Nios II系统中。这样分担了Nios II处理器的数据计算和存储器访问功能,使处理器能够更好的处理其他任务,这可以帮助开发人员提高效率,实现成功的设计。
本设计中,在确定设计方案后,我们发现人脸检测算法过于复杂,运算量巨大,且涉及到很多浮点运算,Nios CPU无法在短时间内完成人脸的检测,因此我们选取了其中一些运算量较大的整点运算函数进行了硬件加速,提高了系统的工作速度,同时也增加了对FPGA芯片资源的利用率。
 

5.2自制两轴三维云台

由于工业用三维电动云台多采用步进电机转速较低,且结构笨重一般都在2kg以上,俯仰角一般只有±70°,而价格又比较昂贵,不适合本设计使用。
因此我们专门为TRDB_DC2 CCD摄像头子卡设计了专用的铝结构超轻便云台,并采用伺服电机(舵机)作为驱动器,设计模型如下图。
图5.4 自制云台设计图
通过顶部横梁上的定位孔可以将摄像头CCD基本放置在云台垂直于水平旋转轴的交点上,使得对摄像头进行水平角和俯仰角控制时,两个坐标轴之间的耦合以及系统的非线性影响缩小到忽略不计的程度,大大简化了控制器参数的调节过程,并有利于增强控制系统的稳定性,制作成品如下图:
图5.5自制云台安装摄像头后实拍图

5.3PID控制器及PWM舵机控制模块

PID控制模块采用位置式数字PID 算法,简化公式为:
模块采用一个18位乘法器,两个27位累加器,经过三周期的乘加计算和一个周期延迟,得到U(K),在PWM模块中再附加偏移量U0后写入占空比寄存器。当PWM模块周期寄存器记满20ms(与舵机的控制周期吻合)时,周期寄存器清零,PWM输出变高,并重新装入占空比寄存器的数值;当周期寄存器到达某占空比寄存器的数值后,对应的PWM输出变为低。
图5.6 控制系统框图

5.4图像采集及显示模块

CCD摄像头采集到的图像数据通过DE2开发板上的GPIO_1接口送到FPGA芯片上,经过数据格式转换存入SRAM芯片中,VGA显示器从SRAM中读取数据进行显示。这里选取SRAM而不是SDRAM作为frame buffer的原因是,frame buffer需要被CCD和VGA实时地、不间断地读写,如果把作为系统主存的SDRAM再当做frame buffer使用,就可能发生端口冲突,严重时甚至有可能导致数据丢失,因此这里采用SRAM作为frame buffer。VGA显示器显示出来的图像能够说明人脸检测及图像追踪的效果。
图5.7采集与显示模块框图
图5.8人脸检测追踪拍摄系统运行实拍图

5.5图像预处理模块

本模块的主要功能为灰阶化和图像剪裁。
由于人脸检测算法要求输入为灰阶图像,也为了减小存储空间占用,须将采集到的RGB图像转为灰阶图像。RGB转成灰阶图像的算法一般都是将每个像素点R、G、B值乘以加权系数做和即可。对于人脸检测,公认的最佳加权公式为:
,
即加权系数为(0.299,0.587,0.114),为了加快运算速度并减少硬件开销,这里取加权系数(0.25,0.625,0.125),这样在做加权乘法时,仅仅通过左移右移和加法组合即可完成。
为了减小图像识别算法的运行时间和减小内存占用,对于采集到的图片行列坐标不在保留范围内的像素点数据直接丢弃,不存入SDRAM中。为了尽量减小系统视野范围缩减对于追踪物体移动速度的限制,我们利用舵机控制模块中的PID算法,对裁剪的范围引入了带有预测性质的x轴与y轴偏移,这两个偏移量可以使剪裁框进行移动,而不是固定保留中心的图像,这样可以提高跟踪目标出现在剪切图像内的可能性。
 

5.6SDRAM 控制器

CCD采集到的数据转换成rgb格式的图像经过预处理模块后要送入SDRAM。由于SDRAM同时作为系统内存,所以必须能够被CPU访问到,因此SDRAM必须经由SDRAM Controller连接到Avalon总线上。要把图像数据写入SDRAM,也必须通过Avalon总线来完成,所以这里设计了SDRAM Write Master来将图像数据通过Avalon总线写入SDRAM。
写入的灰度数据位宽是8位,而SDRAM的数据位宽是16位,所以有地址对齐的问题,Avalon总线强大的地址对齐功能使我们不用设计复杂的逻辑去完成该功能;此外,在调试过程中,我们发现SOPC提供的IP核SDRAM Controller在对地址进行解码时,将22位地址的最高位和第8位作为bank地址,而不是我们所想的最高两位。
我们使用自定义的Avalon主设备将预处理后的图像数据写入SDRAM中一段固定的地址空间,为了避免Nios II系统使用这段空间运行程序和储存变量,我们根据Nios工程中的syslib文件夹下的generated.x文件,修改其中对于sdram存储空间的定义(减小LENGTH,将存储器末尾的一段地址空间保护起来,防止被程序占用),作为新的GNU链接指令文件。

 

(Revision: 6 / 2009-09-15 11:16:22)

6. 设计特点 (Preliminary Paper)

1. 基于Nios II软核构建的片上系统,具有高性能低成本,可裁剪、可扩充、可升级,软、硬件在系统可编程的功能的优点。Nios II提供一系列的处理器成员,可以针对本身系统的需求,创建一个在处理器、外设、存储器和I/O接口方面的完美的方案,这样既能提供合理的性能组合,另一方面也节省了系统开发的成本,增强了系统在成本上的竞争力;

2. Nios II提供的C2H编译器能够将对性能要求较高的C语言程序自动转换为硬件加速器,集成到基于FPGANios II子系统中。利用硬件加速(C2H)编译器自动加速对图像预处理时性能要求较高的程序,从而显著提高系统总体性能;

3. 自定义指令

4. 本设计用到了SRAM存储器接口、VGA显示屏接口、CMOS传感器接口等多个用户接口,利用SOPC Builder 我们可以将这些外设挂载到Avalon 总线下,模块虽然多,但是在SOPC 的集成环境下会有次序地进行运作;

5. 自定义外设

6. DSP块和使用DSP Builder

7. Altera SPOC Builder NIOS II IDE开发环境易于使用,加速开发流程

8. 基于Nios II处理器的HAL系统库进行软件开发,使软件独立于底层硬件,大大扩展了应用程序的兼容性。

(Draft / 2009-06-14 22:38:50)

7. 总结 (Final Project Paper)

 

大二时就第一次使用了Altera公司的MAX II芯片制作了简易数字储存示波器,Altera公司可编程逻辑器件丰富的资源与Quartus II软件强大的设计与调试功能给我们留下了深刻的印象,例如拥有强大触发和记录功能的Signal Tap II Logic Analyser在开发流程中起了至关重要的作用,尤其对于一般不具备昂贵的逻辑分析仪的学生实验室中进行逻辑开发更是意义重大。而参加此次比赛让我对Cyclone II系列FPGA有了深入的了解,由于其丰富的片上逻辑资源与布线资源,以及大量的嵌入RAM块、嵌入乘法器、嵌入PLL、快速进位链和存储器接口,使得我们在面对庞大复杂的数字系统和苛刻的时序要求时也能游刃有余,同时由于其多样的引脚配置方式和完全集成的片上PLL,简化了很多外围电路的设计,对实现设计的小型化集成化很有帮助。
在这次竞赛中,我们第一次真正接触到SOPC理念与Nios II嵌入式软核处理器的嵌入式程序设计以及嵌入式系统开发的流程。使用Quartus II 中的Altera SOPC Builder与Nios II IDE结合进行嵌入式软硬件开发的流程,即在SOPC Builder中使用Avalon总线完成模块集成,并方便的使用Nios II IDE利用已生成的系统的HAL完成软件开发,这两个软件功能强大而操作却十分简便,使我们快速的构建起了本设计需要的基于Nios II软核的嵌入式片上系统;在软件开发中我们做了大量的算法移植工作,体会最深的一点就是,在可以利用的资源有限的情况下如何进行变通以达到预期的目标(具体体现在竞赛过程中我们实现方式的变更,从uClinux + OpenCV到Nios II IDE + FaceFinder - C-Edition)。
总之,通过使用Quartus II + Nios II IDE的SOPC开发流程和资源丰富的Cyclone II器件,让我们在很短的时间内就实现了人脸检测和追踪拍摄的复杂系统,充分的展示了Nios II嵌入式软核处理器以及Cyclone II FPGA在视频采集图像处理方面的巨大潜力。
(Revision: 3 / 2009-09-15 11:17:43)