SSD:Single Shot MultiBox Detector 心得 (持续更新中。。。)
来源:互联网 发布:www.ttt258.com新域名 编辑:程序博客网 时间:2024/06/14 05:24
对于文章代码的一些理解, 以此来省去用A4纸记录的苦恼
SSD文章链接:http://arxiv.org/pdf/1512.02325v2.pdf
SSD代码链接:https://github.com/weiliu89/caffe/tree/ssd
一:先说说代码配置编译遇到的问题:
(1)按照代码教程编译caffe 都通过了,运行creat_lis.py通过,但是运行creat_data.py时提示 AttributeError: 'module' object has no attribute 'LabelMap'
方法:添加环境变量"export PYTHONPATH=/path/to/CaffeSSD/python:$PYTHONPATH"然后"source ~/.bashrc"
(2) 运行creat_data.py提示 undefine cudnn_v4
方法: 重新链接一下cudnn . 祥见欧新宇配置caffe教程 ”安装配置nVidia cuDNN 加速Caffe模型运算“部份。
(3)运行 python 某个py 文件时提示:
Traceback (most recent call last):
File "examples/ssd/ssd_pascal.py", line 4, in <module>
import caffe
ImportError: No module named caffe
二:数据集处理部分方法:在那个py文件里加入
import syssys.path.append("/home/duan/caffe-ssd/python")
为了能直接用别人的代码处理自己的数据,就需要知道怎样处理数据集
(1)需要生成trainval.txt等文件, 运行 "cd$CAFFE_ROOT"以及 "./data/VOC0712/create_list.sh"
文件内容格式为:[图片路径 对应的xml文件路径]
(2)生成lmdb文件, 运行"./data/VOC0712/create_data.sh"(核心代码为"/build/tools/convert_annoset"中所提到的convert_annoset部分,会在后续讲解)
三:训练模型
code中使用VOC2007和2012的train_val数据集进行训练和验证,使用VOC2012的test进行测试
训练模型的代码为 "python examples/ssd/ssd_pascal.py"(主目录为caffe-ssd)
训练的模型保存在 "$CAFFE_ROOT/models/VGGNet/VOC0712/SSD_300x300/"
job file, log file, python script 保存在 "$CAFFE_ROOT/jobs/VGGNet/VOC0712/SSD_300x300/"
我60k迭代后的mAP=0.71534
四:测试模型
- 对整个测试集的测试:(默认使用最后存储的模型)
python examples/ssd/score_ssd_pascal.py
- 对单张图片测试检测效果:
作者提供两种测试文件:cpp和ipynp文件
我们使用ipynp文件, 文件路径为:examples/ssd_detect.ipynb
步骤:
- 启动Terminal:"ctrl+alt+t".
- 转到主文件目录,并取得root权限:"cd caffe-ssd"."sudo su" 否则会出错
Permission denied: "/root/data/VOCdevkit/results/VOC2007/SSD_300x300/Main"
- 启动ipython/jupyter notebook: "ipython notebook",找到ipynb文件。
- 按照给定的代码"shift+enter"走下来即可。
- SSD:Single Shot MultiBox Detector 心得 (持续更新中。。。)
- SSD:Single Shot MultiBox Detector 心得 之神经网路(持续更新中。。。)
- SSD(Single Shot MultiBox Detector)理论学习
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot Multibox Detector
- SSD Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- SSD: Single Shot MultiBox Detector
- java反射基础知识汇总
- 系统代码中增加APK
- javascript,对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
- Java性能优化指南系列(三):理解JIT编译器
- 用html、jquery、php编写新闻后台管理页面,动态添加新闻数据并实现数据的增删改查功能
- SSD:Single Shot MultiBox Detector 心得 (持续更新中。。。)
- GaN 特性的总结
- Java的泛型
- Hadoop学习笔记:MapReduce框架详解
- 状压dp TSP模板
- linux系统调用:exit()与_exit()函数详解
- javascript中字符串常用操作总结、JS字符串操作大全
- (4.2.32.6)android热修复之Andfix方式:Andfix的Hook方式打补丁原理
- android camera HAL v3.0详细介绍(二)