基于FPGA的卷积深度网络加速---2

上一篇了解了基本CNN网络结构
现在进一步学习一下目标检测网络SSD,SSD的网络结构这里就不赘述,需要了解的可以自行查找。

在导入SSD的模型时,出现Normalize或Permute层就会导致matlab死机,怀疑是caffe在编译的时候有问题,决定重新编译码matcaffe.重新编译后还是一样不行,后来查看了caffe的layer文件,里面没有Normalize和Permute层,需要添加,在github下载了intel的caffe,添加了相关文件,可以载入Normalize和Permute层。
继续往下,发现prior_box_layer和DetectionOutput层也不能载入,继续按照之前的方法添加。
参考网址:
https://blog.csdn.net/sinat_35308776/article/details/79691039
https://blog.csdn.net/qq745021926/article/details/71698680
https://blog.csdn.net/lqp888888/article/details/77943837
cmd打开windows下命令行,将proto.exe和caffe.proto放置在同一文件夹下
命令行打开至该文件夹下
protoc.exe caffe.proto --cpp_out=.

DetectionOutput无法添加成功,暂时不添加了,不影响SSD的运行

查看网络结构netscope
http://ethereon.github.io/netscope/#/editor
在github上找到一个版本
https://github.com/fanyang16120029/SSD-Single-Shot-Detector-in-Matlab
这个版本将训练好的caffemodel(VGG_VOC0712_SSD_300x300_iter_240000.caffemodel)转成.mat文件用于目标检测。按照他们的方法,我将卷积后的数据直接取出来,不取Permute之后的数据,用这种方法可以实现目标检测,效果如下图:
在这里插入图片描述
再次编译detection_output_layer 注释以下内容编译通过
在这里插入图片描述
在这里插入图片描述
使用res10_300x300_ssd_iter_140000.caffemodel SSD人脸检测网络检测人脸,效果如下:
在这里插入图片描述
效果还不错

再验证之前的目标检测网络效果:
在这里插入图片描述
效果也挺好,说明之前的网络bbox计算有问题;

371132449@qq.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值