《山东省高等学校省级大学生创新创业训练计划项目中期检查报告.docx》由会员分享,可在线阅读,更多相关《山东省高等学校省级大学生创新创业训练计划项目中期检查报告.docx(12页珍藏版)》请在课桌文档上搜索。
1、山东省高等学校省级大学生创新创业训练计划项目中期检查报告学 校山东大学项目编号S项目名称基于人工智能的垃圾瓶检测与分类在FPGA上的设计与实现项目负责人李敬阳项目级别省级一、项目进展情况及取得成果(按照项目研究工作计划逐一对照填写)项目进展情况()按计划进行、()进度提前、()进度滞后主要研究阶段 (起止时间)研窕内容完成情况2021.7.12022.1.1利用YOLOv4架构训练空瓶数据集并做出实时检测基本完成2022.1.1 2022.5.4利用Vitis将yolov4网络转换为硬件描述语言移植到 FPGA平台上运行部分完成项目研究成果(已取得的成果)序号项目成果名称成果形式1基于yolo
2、算法的目标检测网络可执行程序2Xilinx FPGA ZU3EG UltraScale+MPSoC 开发板运行及调试实物二、项目季度报告(项目执行的进展情况,取得了哪些成绩,是否达到预期效果,以及在项目 的开展过程中还存在哪些问题,3(X)0字以内)目前本项目正处于人工智能检测垃圾瓶并进行分类的硬件移植阶段,进展良好。自项目开展以来,本团队成员开展了对于FPGA开发板技术、人工智能技术的理论学习,初步掌握了 FPGA开发版的使用,学习并掌握了人工智能工作原理及其所需的PythOn及C+代码,已经在WindoWS平 台上完成了 YOLo算法计算机视觉网络架构的搭建,并能够使用搭建完成的计算机视觉
3、网络完成数据集标 注、数据集训练、图片检测识别、视频检测识别、摄像头实时检测识别等一系列计算机视觉相关的工作。在软件工作基本完成的同时,项目组成员也迅速展开了对于FPGA开发板的调试与开发,初步完成了 FPGA操作系统的安装。在已完成安装的系统中,本项目组成员已经实现了开发板使用的三种方法,同时在 FPGA的LinUX系统中运行了数个计算机视觉的目标检测实例,验证了开发板具有后续进行实时检测的性能。1 .目标检测在WinlO系统上的软件实现在目标检测的软件实现方面,本项目目前采用的是AlexeyAB的YOLOv4框架。YOLOv4在原有YOLO 目标检测架构的基础上,采用了近些年CNN领域中最
4、优秀的优化策略,从数据处理、主干网络、网络训练、 激活函数、损失函数等各个方面都有着不同程度的优化,在实时目标检测算法中精度最高,实现了精度和 速度的最佳平衡。下图总结了近些年的目标检测检测器的优化改进手段的方向结构组成,同时在下面对几个重要改进的 部分列出了改进的方法:Tio-S(ac Dctcctor图1 yolo做出的改进 InPUt 部分:Image, Patches, ImageSPyramid(图像金字塔) BaCkbone 部分:VGG16, ResNet-50, SpineNet, EfficientNet-B0B7, CSPResNeXt50, CSPDarknet53 ne
5、ck部分:o Additional blocks: SPP, ASPP, RFB, SAMo Path-aggregation blocks: FPN, PAN, NAS-FPN, Fully-connected FPN, BiFPN, ASFF, SFAM Heads 部分:o Dense Predictions(One-Stage): RPN, SSD, YOLO RetinaNet (基于 anchor) ComerNet, CenterNet, MatrixNet, FCOS (无 anchor)o Sparse Predictions(two-stages): Faster R-CN
6、N, R-FCN, Mask R-CNN (基于 anchor) RepPoints (无 anchor)下图为yolov4网络结构的采用的算法,其中保留了 yolov3的head部分,修改了主干网络为CSPDarknet53,同时采用了 SPP (空间金字塔池化)的思想来扩大感受野,PANel作为neck部分。主干网络采用CSPDarknet53为了 nW0受野,采用了SPPfi跑想网络结构其他的改进策略采用PANet中的路径聚合楼块瞬用YOIOV冲的headBoF和BoS的选择采丽穗据明算法使用幽传箕法来选腌参数CmeN (妞,Nft国S化)改迸SAMSWftPANMosaicSelf A
7、dverdarial Training (SAT)不使用 PRULUSELURELU6 活渊使用DrOPBl OCknJ妣方法不使用SynCBN下图为yolov4在技术处理的思维导图:CIoU-IomCmBN (交叉小Itt标府化)OopBIockMowiicSAT (白对仄巾除)detectorCutMrMouicmKH8DIoUNMSYOLOV4使用class label smoothingbackboneMkh激活CSPDropBIockMIWRC使用MS COCO数据集,在不同的GPU上,使用不同的网络跟YoLoV4进行的对比结果:(横轴为FPS,纵轴为AP值)MS CM,O Objr
8、ct IMrctIoaMS K O IMctlnnMSC (K ()hil IMcYtixM (JObicct IMrtir(ve*图2 yolo检测与传统算法的对比目前本项目已经完成了运用yolov4网络在WindOWS平台上进行数据集训练、图片检测、视频检测、实 时检测,将在文末展示部分检测成果。2.目标检测的开发板硬件移植在硬件方面,选择了 XiIinXFPGAZU3EGUltraScale+MPSoC 的 UItra96-V2 开发板,Ultra96-V2 是基于 Arm的Xilinx Zynq UltraScale+ MPSoC开发板。Ultra96-V2采用Microchip认证的
9、无线电模块设计,可 在全球更多国家/地区使用。此外,Ultra96-V2提供商业和工业温度级选项。使用随附的InfineonPmiCS可 以实现额外的功率控制和监控。与Ultra96 一样,Ultra96-V2从提供的Delkin 16 GB microSD卡启动。可 以选择使用集成的无线接入点功能通过Web服务器连接到Ultra96-V2,或者使用提供的Linux Matchbox Windows环境,可以在集成的Mini DisplayPort视频输出上查看。提供了多个应用示例和板载开发选项作 为示例。开发板可以通过板载USb接口连接DP屏、鼠标和摄像头,通过jtag串口可以连接电脑进行通
10、信, 在Sd卡中烧入镜像文件后,开发板可以跑相应的IinUX系统。目前已实现了全部三种方式使用开发板:jiag的串口通信:通过jiag连接Ultra96开发板并进行COM 口通信的结果,进入IinUX的终端来对 开发板进行操作。Wifi通信:通过连接开发板的板载Wifi登录。 开发板跑IinUX系统:使用WIn32_disk_imager将镜像烧录入Sd卡后连接DP屏,在IinUX系统中进 行操作。同时本项目组己经使用安装的LinUX程序运行了数个VitiS-Al下的目标检测示例,将于报告末尾附上实 例运行结果。部署前对yolov4的模型进行可视化的操作:图3.4可视化具体操作流程在利用Vit
11、is将yolov4网络转换为硬件描述语言移植到FPGA平台上运行部分:由于开发板自带的LinUX 系统无法完成darknet配置,且开发板不支持yolo的直接移植,故我们通过xilinx的官方教程将yolov4转化 为caffe框架进行开发板的部署。下图是我们的流程概述:通过ssh终端访问ultra96v2开发板进行移植模型的初步测试对单张图片或视频进行检测,命令行调用模型进行检测,并在终端输出result的坐标位置,在文件目录处保存result的结果:对于理想瓶子:X 0 Rewde womo6 55H).iMkr.w.1M proc.rwtt.hppM4) RnuIY: 31:42. U7
12、QMT.5W 17,30 US.4M IS.)M procVB-rwlt.hpp:44) MWlT: 19ISC.S2 17.3419 201.Uf H3.:42.1771M1M5 proce*_rmXt.hpp:44) KMUlT: 7ns.M 274.214 I”.:Q.im”,M2135 procBS.rXt.hppM4) RtWlT:IM.4 If .7m 201.5 1,2.reot*1Mv2bcb*22-2ruraharvt%-t-l9rryflal/Mb3ta9U2 rot*Mv7.卬MSI213 H: .mz八 1213 1: .7TMCr IettGMflMgsgl 9 wt
13、ten to S4M 139 procv.rcuK.hppz44) RtWlT: 26.1Wl 15.4IJT C4.on Mr Hn. lll,nabjm EtMtSAy对于现实的瓶子检测效率还有待加强:root*uMv2-vcbM-202O*2:- cd urM,vtt,.librryplfZyolovVr8t彩2sb-bai42022:s=4r/v11l-LlIbr”plyol.tstjUotS4 WIOV4 y,PP. bottX3. jpgMIMIlM: I099Eg br In409tH099iA9 wf ttt to STDCWt19215 lSrO442.11S35 .8310
14、2X6215 14:04:42.127S6 .2421815 .82563必5 14:04:42,127214 .W42711215 li:94:42,127279 .WM1385 ProW*ultM44 RESULT: 1365 procssaarwlt.:44 RESULT: 130 proc9.rtult.lpr44 RMT: A130) proc。”JeWlt .5:3】 RCMT: A1385 proe5.rewlt.Mp:44) WSIAT: W6.394917S.5063 1M.6B2 iM.3W1.92415.413717.343917. 43933.W18.7%6e.65BS
15、 123.466Ml.64.2M 1.4162.2 963.15 6163.” 00.33”62. WW Rmo mooV9rMtgu2 stc bas 202 2: usrsft*rev it lt.t.l Ibraryspl_ bottlvl.jpgWVUiIMG: Iogtng bfor IfHtGooQlt099s6 ) is written to 5TORR10213 14:13:11,90170 1322 proce_rewlt.p44) RESULT: 13 2.2131 19.189 578.94 426.94” Jl54”I21S U: 13:11.945690 1322 p
16、rocs result.Mp:44 RESULT: 79 0.827M8321.987 245.2114H 155 51MWftHuMv2 - 4-ba 2622: grf /v tC(bfarytMlMyolov4 目前遇到的主要问题就是yolo模型在转化为caffe模型时会遇到严重的精度损失情况,目前我们又安装了 caffe框架对转化后的模型进行进一步训练。三、经费使用明细情况项目获批总经费:4000元已使用项目研究经费:3260 元已报销金额:980元未报销金额:2280 元项目经费开支情况名目用途金额备注论文版面费专利申请费调研、差旅费打印、复印费复印资料书籍,打印报告及代码50资料费
17、试剂等耗材费元器件、软硬件测试、 小型硬件购置费FPGA开发板1个,jtag调试模块1个,高 清线1个,电源转换器1个,Sd卡1个, 摄像头1个,其他电子零件配件。3210其它四、项目后期具体工作计划目前本项目在软件实现和硬件移植方面均没有太大技术难题,但在向开发板的移植过程中 遇到了严重的精度损失情况,后续将优化数据集的质量并对转化后的caffe模型进行进一步训 练,以期在开发板上获得良好移植效果。五、指导教师意见:(包括项目的组织实施、进度、预期效果、经费使用等情况)进展顺利,同学们在FPGA和深度学习两方面的知识储备达到了一定程度,将二者无缝融 合是一个有挑战性的工作,同学们加油。指导教
18、师签字:Li:2022年4月18日六、学校审核意见:季度检查结果类别(请在对应结果中打V”)庄 日Fl通过限期整改不合格上传成果附件:Windows平台yolov4计算机视觉网络成果展示Y0L0v4部分数据集M9JPGM6JMm103JRIflkn12OJFG9im“7.gA*m70JPGim67.炉6Aim104JPGkn12IJPG i im1JPGImlSSJPGim55JPGinSJPGbn7JPGM3JPGim24JPGkn72JFG7im89.gim106JPGlm123JPGim14OJPGIiml57JPGamWJPGimJPGZbn73JPG9OJPG而10, JpGn124
19、-JPGn141JPGEisajPGim4(AGi41JP6 r9JPG MSJPG im26.J9GFlt*42JPGEIJFGnMJK M5JP6im57JFGim74JPGw1JPGim10JPGlm12SJTGim142.JPGhnl59JGimMJPGlm75JPGSm92KGim14klPGmieJPGimXgim111JPGLlm128JPGim1O9JPGkm12JPGiml6lJPGE?im14JPG.iml62JPG9SJPG w%J2 I En112JK mll3JPGHten129JPGm146uJPGnl6UMImBOJFGrrim147.jriml必陷ImUJPGn
20、4gWif65JPGiPGknW.gim116JPGkn133JPGim10JPGImISJPG im32JPG m49JP(J一 1wnWJPG- im83JPGjEIgJPGbn117JfG8ml MJPG u HISl.JPGEeJpG .im33JPGLim5ajPGe67JPGtf*44JPGim101./PGimH8JPGaim17JPGEim34J9G7im5lJPGaim68JPGim5JPG4jJmIOZJPGim119JPGlm136JPGIflim15XJPGim167JP6数据集训练结果current av loss = 0.0304 iteration = 6000
21、Press ts, to save : chart.pn - Savedapprox, time left = 0.03 hours Iteration numberin cf maxbatche8-6000对于图片的检测结果摄像头实时检测截图如下Ultra96调试成果展示LinUX系统运行目标检测实例Vitis-AI下的车辆识别Vitis-AI下的道路分段检测Vitis-AI下的人体姿势检测利用Vitis将yolov4网络转换为硬件描述语言移植到FPGA平台上运 行部分的关键步骤:Ubuntu下激活Vitis-Ai的主机docker环境:Darknet网络转caffe模型:3.2) Dark
22、net Model Conversion The next step is to convert the darknet model to a Caffe model. This will be done using the built in conversion function which is part of the Vitis-Al Caffe install.bash Vitis-AIdockrsrun.sh ilinvitis-ai-gpu:latst conda activate vitis-i-cfe bash scriptdarkt,convrt. $hJstdldl: /D
23、esktopZyolov4-tutorlal(vitis-ai-caffe) Vitis-AI / binetcIib32nntrootboothomelib64optrundevlibmediaprocsbin(vitis-ai-caffe) Vitis-AI / (vitis-ai-caffej Vitis-AI / srv usrsys var sudo chmod -R cd workspaceFile Edit View Search Ierminal Help (vs-a-caej vis-Ai /workspace CaVitisaihomexrt.deb777 workspac
24、e(vitis-ai-caffe) Vitis-AI /workspace bashscripts/darknet convert obj.sh block:OrderedDiCt(type, ,route), (layers, ,-2,)J) b!ock:OrderedDict(type, route), (layers, ,-1,-7) concat layer: OrderedDict(,bottom, layer8-conv, ,layer2-conv), (,top, layer9-concat), (name, ,layer9-concat)r (type, Concat) blo
25、ck:OrderedDict(typet route), (layers, ,-2) block:OrderedDict(type, ,route), (layers, -1,-l)concat layer: OrderedDict(,bottom, ,layer21-conv, layerl2-conv,), (top Iayer22-concat), (name, Iayer22-concat), (type, Concat)block:OrderedDictC(type* f route), (layers, -2)block:OrderedDict(type, route), (,la
26、yers, -1,-28)concat layer: OrderedDict(,bottom, (Iayer52-conv, Iayer25-conv,), (top ,layer53-concat,), (name, ,layer53-concat,), (type, 1Concaf)block:OrderedDict(type, route), (layers, -2)block:OrderedDict(,type, route), (,layers*, -1,-28)concat layer: OrderedDict(bottomr (,layer83-conv, Iayer56-con
27、v,), (top ,Iayer84-concat), (name, ,layer84-concat), (type*, Concat)模型的量化编译:3.3) Model Quantization Before quantizing the model, we will need to make a minor modifcations to .protott file to point to the calibration images. Make a new copy of the prototxt file and make the following edits:cp vocyolo
28、v4. prototxt vocyolov4quant. prototxt3.5) Model CompilationPrototxt File Mods Before compiling the model we will need to make a minor edit to the deploy prototxt file yolov4 quantized/deploy.prototxt. Comment out lines 5-9 as shown below:bash scripts/run_vi_c_zcuie4.shThe compiled model file will be
29、 located in yolov4_compiled/dpu_yolov4_voc.xmodeli/home/StdvDeSktOPyolov4tUtorlalyolev4jbLcompHeV(Name Size TVpeDate Modifieddpu_yolov4_obj.xmodeldpu_yolov4_obj_org.xmodelmd5sum.txtmeta.json182.6 MB unknownYesterday256.9 MB unknownYtesterday33 bytes plain text documentYesterday180 bytes JSON documentYesterday