一、基于海思芯片:从算法到移植 darknet框架下训练yolov3

今天是2020年1月25号,大年初一,万万没想到,这个本来狂舞躁动的时刻,敝人会安逸的坐在家里写博客,这场肺炎带给我们的应该是深刻反思。边缘计算如日中天,或者说把深度学习落地,搞到移动端解决是一个大趋势,现实情况是多数搞算法的对嵌入式方面的移植不甚了解,而搞嵌入式的对这个高大上的算法环节更是一脸懵逼。下面我就带领大家梳理一下,认真研读完本系列四篇教程并下载所有资料,帮助你从训练算法一直到移植海思3516dv300,畅通无阻,实现快速开发迭代。好吧,进入正题,本系列会以四个篇章讲解完毕yolov3从训练到移植到海思芯片,如下所示:

一、基于海思芯片:从算法到移植   darknet框架下训练yolov3

二、基于海思芯片:从算法到移植   darknet框架下yolov3转为caffe框架下

三、基于海思芯片:从算法到移植   caffe-yolov3测试训练效果

四、基于海思芯片:从算法到移植   生成海思wk文件并进行成果展示

 

针对一个全新的所识别目标,例如电瓶车、安全帽、反光服、手套、火苗、吸烟检测、烟雾检测等等,诸如此类,首先采集和标注图像,在windows上可参照网址https://cloud.tencent.com/developer/news/325876,标注的图像格式有.xml格式和txt格式,根据需要可以抓换,稍后会把.xml格式转为.txt格式代码一并奉上,也可网上自行参考。顺便提一下,图像可以自己采集也可以网上下载,现在图片估计是不好爬了,我两三年没写过爬虫了,不了解现在的行情,我还是给大家提一下,你最好在标注前把图片统一按规则命名一下,不为别的,显得咱爷们姐妹专业一点,代码我有,自己写也不难,稍后也会上传。

针对darknet训练的前期环境配置我就不再赘述,不然篇章过于冗余,地址为https://github.com/pjreddie/darknet,自行下载安装配置,关于darknet的配置博客不少,只需要记住把opencv和cuda安装正确方可使用,后面我会把所有的资源源代码上传,大大缩减大家的开发时间。我自己的darknet文件以及训练的一些目标物集合如图所示一、基于海思芯片:从算法到移植 darknet框架下训练yolov3_第1张图片

而对于为什么选择yolov3这个网络,实在是因为很经典,在工业上应用较多,当然你也可以在caffe下搭载自己的网络,但是我强烈不建议,因为你现在要做的是把算法到移植海思整个流程跑通,以后有时间会和大家深入交流深度学习,咱当年可是从BP神经网络一点点推导的过来人。yolov3的官网说明:YOLO: Real-Time Object Detection  官网地址https://pjreddie.com/darknet/yolo/,说的甚是详细,当然网络上也有很多详细讲解yolov3的博客,都可以拿来为我所用。我在网上给大家选择了一个通俗易懂的篇章,如何在darknet框架下训练yolov3 可以参考网址链接https://www.cnblogs.com/answerThe/p/11481564.html,讲的还不错 ,帮助你训练起来自己的数据集。训练自己的数据集后,其实只要迭代几千次,你就可以大概测试一下自己的网络效果,你自己设置路径会在backup中生成大量的.weights文件,还有配合你自己的.cfg文件,这两个文件会构成你接下来所需要的所有信息,举个例子,我自己训练安全帽,通过训练得到anquanmao_yolov3-voc_30000.weights权值文件,还有yolov3.cfg文件,yolov3.cfg文件要根据你自己的显卡能力,还有目标物的多少自己设置相关的参数,在我文中的链接中都会提到如何设置,不再赘述。anquanmao_yolov3-voc_30000.weights和yolov3.cfg将为下一篇中转换生成caffe下的caffemodel和prototxt备用,另外再提一句,无论在什么框架下,所生成的权值文件都需要测试一下效果,再进行进一步的操作,在darknet文件中可以进行下面的操作,在编译后在darknet文件夹中,运行命令

./darknet detect cfg/yolov3.cfg backup/anquanmao_yolov3-voc_30000.weights data/0.jpg

要根据你自己的情况更改cfg和weights文件,以及要测试的图片,如果是项进行实时测试,查个小摄像头,执行命令

./darknet detector demo cfg/anquanmao.data backup/anquanmao_yolov3-voc_30000.weights

在本篇中已经生成anquanmao_yolov3-voc_30000.weights,以及改写的yolov3.cfg,将为下一篇中转换生成caffe下的caffemodel和prototxt备用。另外在本篇结束后,包括安全帽在内的所有的框架下的训练权值文件都会让小伙伴下载,也请大家支持我的团队。

 

你可能感兴趣的:(嵌入式,深度学习,海思,算法,yolov3,caffe框架)