由东南大学、赛灵思电子科技(上海)有限公司(Xilinx)、南京集成电路产业服务中心(ICisC)联合主办的2019 SEU-XILINX暑期学校完美落幕啦!
在7月7号到7月19号的2周时间之内,通过2次测试,7场专题讲座和7天项目开发的经历,让来自于国内、澳门地区和海外71所高校合计110名学员学习和实践了FPGA设计技巧和各种各种工具结合下的智能应用。我们一起来回顾一下暑期学校中的精彩瞬间。
活动进行时
暑期学校分为技术培训和实际动手项目2大部分。技术培训内容涵盖了FPGA高级设计技巧、HLS高级综合工具、云加速、AI和PYNQ框架。
在项目设计阶段通过自由组队的方式被划分为28组,学员们使用暑期学校提供的平台和外设,历经项目计划和目标制定、项目开发、到最终设计出完整的项目作品。在7天的项目开发阶段里,同学们相互协作,结合技术培训学到的知识点,充分发挥学习和创新能力,开发出了很多超出预期的作品。
在培训的间隙,我们还邀请来了Seeed Studio举办了柴火创新体验营活动,AWS技术专家介绍了Xilinx FPGA云加速技术,还有Xilinx的HR为学员们做了职业规划的讲座。
学员们通过各类讲座和自主动手开发环节,在自身知识储备和技能转化上收获良多,也完成了团队项目的合作实现。
优秀成果展示
在一周的忙碌开发中涌现了大量优异的开发项目,以下为部分优秀作品的简介。
所有的暑期学校项目的源代码以及项目设计文件都在官方Github仓库找到。 https://github.com/xupsh/2019_SummerCamp
项目名称 |
项目介绍 |
Github链接 |
数电课程实验 |
创造性的基于PYNQ框架,开发了一个可在Jupyter notebiook上实现的数字电路课程基础学习套件。 |
CCP101/ Digital_circuit_experiment |
数字字符识别 |
通过摄像头采集图像,根据不同数字的数字特征,对0-9十个数字进行识别,并在HDMI显示器上进行实时显示。 |
liuweistrong/ Digital-Recognition |
自动路标识别巡线平衡车 |
通过MIPI摄像头获取视频流后,在FPGA内进行图像处理,实现寻线和路标识别。最后实现PID控制平衡车巡线运动,遇到路标时能够识别并作出对应的反应。 |
BeautifulEnding/ Tracing-road-sign-recognition-trolley |
深度学习项目 |
基于DPU的深度学习项目,能够对目标人物的快速追踪,并对场景内人员的年龄评估颜值打分等。 |
dujiangsu/ FaceScore-Accelerated -by-Xilinx-DPU.git
|
DPU硬件加速器设计及在目标识别中的运用 |
设计一种基于Ultral 96平台,充分利用芯片上的FPGA资源及其硬件并行的优势,进行目标检测识别的任务,开发除了一套效果非常棒的高帧率目标检测系统。 |
xilinxfairchild/ FPGABasedHigh Performance TargetChecking.git
|
电子音乐生成效果器 |
项目中使用HLS处理解码音频接口输入数据,对音频进行降噪滤波和音效滤波,分析音乐频谱后用Grove LED Bar进行显示。 |
LexPG12138/ Xilinx_MUSIC.git
|
车道线检测 |
对车道线进行检测和识别,识别结果通过HDMI输出,使相应线条或者色块保持在车道中央或者根据车道指示确定轨迹。 |
|
双目立体视觉 |
通过双目相机采集目标图片,根据立体标定获得的参数对图像进行校正,然后匹配得到视差图进而计算目标的距离信息。 |
zhutmost/ stereo-vision-fpga.git |
心得体会
选取了其中几组小组在完成项目之后对于学习过程中和团队协作之间的心得体会分享给大家。
第13组(数字字符识别):
通过项目学习,团队成员了解了FPGA的开发流程,以及掌握了vivado的使用方法,锻炼了解决问题的能力以及团队协作的能力,了解了更多查找的渠道以帮助项目的开发。数字识别的核心思想是分类,对不同类的被识别的目标进行分类,根据分类结果进行标记识别。在进行硬件设计时要注意与软件的不同,如在进行交点判断时使用两个寄存器进行边沿检测,实现方便且易于理解。
在培训中,讲课的老师系统地介绍了FPGA的开发流程和前沿技术,下午的实验能更好地掌握实验的流程和软件的操作。在项目的开发中网上检索算法和算法的源码,理解算法的原理和编写的方法,在自己项目中重构代码。开发过程中虽有困难,解决的过程就是提升的过程。整个培训不仅学到了知识,而且也锻炼了专业技能。
通过这次项目,熟悉了vivado的工具的使用,包括了使用verilog编写源代码和测试文件,并且学习了如何在RTL模块添加IP,添加管脚约束等。在项目开发过程中,还学习使用了Arduino来利用LCD进行数字显示,应用Python用cmd进行图像处理的脚本文件生成二值图像的0,1值并且整理出来。在项目开发过程中,对FPGA的开发有了更加深刻的理解,并且在与团队成员的交流学习中,积累了很多新的知识。
第35组(双目立体视觉):
Xilinx关于FPGA的实训不知不觉中就结束了,首先感谢Xilinx和东南大学的老师们,给我们提供这次提高自己的平台。通过这次实训,我们收获良多,同时意识到还有更多的知识等待着我们去探索。
前期学习中,上午老师们讲解一些知识点,包括hls,timing,dup等。相关课程的设置,一方面让我们对已有的知识进行了巩固;另一方面,扩宽了自己的知识面,对FPGA的设计有了更深入的了解。下午的独立实验中,通过与上午相关知识点的labs实践,我们学以所用,加深了对课程的理解。通过课程的学习,我们懂得了如何在实践中检验自己的知识点,对vivado系列工具也有了更加深入的了解。
后期的项目开发中,我们更加受益匪浅。我们组主要做的是双目立体视觉。首先,我们对项目进行了大致的了解,主要分为三个部分:1. 数据输入两个相机,2. 数据输出为 HDMI 输出视差图像,3. 使用 HLS 及 xfOpenCV 编写处理代码实时计算深度信息并输出。然后,通过设计算法,采用 OpenCV、Matlab 等软件,对测试用例进行仿真,使用 HLS 对算法进行实现及仿真,最后我们将算法移植到 PYNQ-Z2 上。在项目开发过程中,我们遇到了很多难点,如PYNQ-Z2资源太少、显示器显示一半、噪点太多等等。在我们的一系列的学习和讨论下,同时在老师们的指导下,慢慢的解决了这些问题,实现了基本的双目立体视觉。
总的来讲,这次实训对我们来讲是非常成功的。我们彼此认识了互相,并且完成了一个项目,对我们来讲意义非凡。
也许我们并不是这个时代的弄潮儿,也许我们并没有那些过人的天赋,或是惊世的机遇。但在这段夏日,携手一同在SEU-XILINX暑期学校中完成培训与开发。一路相伴的时光,是这个月刻下的最美的风景。
2019年SEU-XILINX暑期学校已经落下帷幕,但是对于大家学习FPGA热情的支持依旧不会停歇。明年2020年的暑期学校也一样会如约而至,欢迎大家继续参加。明年夏天,我们在等风,也在等你。
文章转载自:Xilinx学术合作