Ubuntu14.04 + Text-Detection-with-FRCN(CPU)
操作系统:
yt@yt-MS-:~$ cat /etc/issue
Ubuntu 14.04. LTS \n \l
Python版本:
yt@yt-MS-:~$ python --version
Python 2.7.
pip版本:
yt@yt-MS-:~$ pip --version
pip 1.5. from /usr/lib/python2./dist-packages (python 2.7)
源文件:
git clone --recursive https://github.com/jugg1024/Text-Detection-with-FRCN.git
1. 安装Caffe需要的依赖包:
sudo apt-get install build-essential # basic requirement
sudo apt-get install libblas-dev libopenblas-base liblapack-devlibprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler #required by caffe
将caffe-fast-rcnn/python目录下的requirements下的依赖都装一遍:
cd Text-Detection-with-FRCN/py-faster-rcnn/caffe-fast-rcnn/python
cat requirements.txt for req in $(cat requirements.txt); do pip install $req; done
Cython>=0.19.
numpy>=1.7.
scipy>=0.13.
scikit-image>=0.9.
matplotlib>=1.3.
ipython>=3.0.
h5py>=2.2.
leveldb>=0.191
networkx>=1.8.
nose>=1.3.
pandas>=0.12.
python-dateutil>=1.4,<
protobuf>=2.5.
python-gflags>=2.0
pyyaml>=3.10
Pillow>=2.3.
six>=1.1.
这里有一个小技巧,因为pip这个工具对应的网络非常的烂,这个时候,可以将其改为国内的镜像网站,速度将提升几个数量级,方法如下:
sudo pip install ipython -i http://pypi.douban.com/simple
如果出现有依赖包安装失败可以使用这种形式安装
sudo apt-get install python-matplotlib
除此之外还有以下依赖包:
sudo pip install easydict
sudo pip install opencv_python
2. 编译
编译 py-faster-rcnn
2.1 change the branch of py-faster-rcnn to text-detection-demo.
cd Text-Detection-with-FRCN/py-faster-rcnn
git checkout text-detection
2.2 Build Caffe and pycaffe.
cd Text-Detection-with-FRCN/py-faster-rcnn/caffe-fast-rcnn
cp Makefile.config.example Makefile.config
修改 Makefile.config
CPU_ONLY :=
WITH_PYTHON_LAYER :=
# 以下可选择性改变 BLAS_INCLUDE := /usr/include/atlas-x86_64-base
BLAS_LIB := /usr/lib64/atlas PYTHON_INCLUDE := /usr/include/python2. \
/usr/lib64/python2./site-packages/numpy/core/include PYTHON_LIB := /usr/lib64 # Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib64
编译(也可以直接 make , make pycaffe )
make -j16 && make pycaffe # here only python api is used.
测试下
cd python
python
>>> import caffe
>>> caffe.__version__
'1.0.0-rc3'
2.2 Build the Cython modules.
cd Text-Detection-with-FRCN/py-faster-rcnn/lib
修改 setup.py 把所以关于gpu的部分注释掉
# CUDA = locate_cuda()
# self.set_executable('compiler_so', CUDA['nvcc'])
# Extension('nms.gpu_nms',
# ['nms/nms_kernel.cu', 'nms/gpu_nms.pyx'],
# library_dirs=[CUDA['lib64']],
# libraries=['cudart'],
# language='c++',
# runtime_library_dirs=[CUDA['lib64']],
# # this syntax is specific to this build system
# # we're only going to use certain compiler args with nvcc and not with
# # gcc the implementation of this trick is in customize_compiler() below
# extra_compile_args={'gcc': ["-Wno-unused-function"],
# 'nvcc': ['-arch=sm_35',
# '--ptxas-options=-v',
# '-c',
# '--compiler-options',
# "'-fPIC'"]},
# include_dirs = [numpy_include, CUDA['include']]
# ),
修改 ./fast_rcnn/nms_wrapper.py
#from nms.gpu_nms import gpu_nms def nms(dets, thresh, force_cpu=True):
修改 ./fast_rcnn/config.py
__C.USE_GPU_NMS = False
修改 py-faster-rcnn/tools/test_net.py和 py-faster-rcnn/tools/train_net.py
将 caffe.set_mode_gpu()修改为caffe.set_mode_cpu().
编译
make
3. Run demo
- Run text detection demo
1. 下载训练好的模型,解压放到 Text-Detection-with-FRCN/models
URL: http://pan.baidu.com/s/1dE2Ori5 Extract Code: phxk2. run demo,检测结果会保存在Text-Detection-with-FRCN/output_img
cd Text-Detection-with-FRCN/
./script/text_detect_demo.sh3. training, if you think the model is not ok, then you can trainning with your own dataset, take coco-text for example.
3.1 download coco-text dataset
cd Text-Detection-with-FRCN/datasets/script
./fetch_dataset.sh coco-text
# download it takes long!
# ensure you have both data and label
# for coco-text label is in COCO-text.json, and data is in train2014.zip3.2 download pre-train model
# finetune on this model, you can also use one model you train before
cd Text-Detection-with-FRCN/py-faster-rcnn
./data/scripts/fetch_imagenet_models.sh
# download it takes long!3.3 format the data(you should write your code here)
# format the raw image and label into the type of pascal_voc
# follow the code in $Text-Detection-with-FRCN/datasets/script/format_annotation.py
cd Text-Detection-with-FRCN/datasets/script
./format_annotation.py --dataset coco-text3.4 create a softlink the formatted data to working directorry
# link your data folder to train_data
cd Text-Detection-with-FRCN/datasets/
ln -s train_data coco-text # $YOUR_DATA3.5 training
cd Text-Detection-with-FRCN/py-faster-rcnn/
./experiments/scripts/faster_rcnn_end2end.sh [gpu-id] [net](VGG16) [label_type](must be pascal_voc) - Run text detection demo
1. 下载训练好的模型,解压放到 Text-Detection-with-FRCN/py-faster-rcnn/data/faster_rcnn_modelscd Text-Detection-with-FRCN/py-faster-rcnn/data/scripts
./ fetch_faster_rcnn_models.sh2. 修改 demo.py, 添加保存输出语句
cd Text-Detection-with-FRCN/py-faster-rcnn/tools
def demo(net, image_name):
'''''' output_dir = os.path.join(cfg.ROOT_DIR, '..', 'output_img',
image_name.split('/')[-] + "_detect_rst.jpg")
plt.savefig(output_dir)3. run demo,检测结果会保存在Text-Detection-with-FRCN/output_img
cd Text-Detection-with-FRCN/py-faster-rcnn/tools
./demo.py --cpu
参考:
- http://www.cnblogs.com/justinzhang/p/5386837.html
- http://blog.sina.com.cn/s/blog_679f93560102wpyf.html
- http://blog.csdn.net/wuzuyu365/article/details/5189525
- http://blog.csdn.net/u011762313/article/details/47262549
Ubuntu14.04 + Text-Detection-with-FRCN(CPU)的更多相关文章
- Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新)
前言: 最近在学习深度学习,最先要解决的当然是开源框架的环境安装了.之前一直在学习谷歌的Tensorflow开源框架,最近实验中需要跟别人的算法比较,下载的别人的代码很多都是Caffe的,所以想着搭建 ...
- ubuntu14.04 编译安装CPU版caffe
本文,试图中一个干净的ubuntu14.04机器上安装caffe的cpu版本. http://blog.csdn.net/sinat_35188997/article/details/735304 ...
- ubuntu14.04下CPU的caffe配置,不成功的朋友请与我(lee)联系,后面附带邮箱
因广大朋友需求cpu的caffe配置.所以我(lee)在这份博客中对cpu配置caffe做出对应操作说明.希望能够解决大家对cpu配置caffe的困惑.少走弯路. 假设有安装不成功的朋友能够和我联系, ...
- Ubuntu14.04 caffe 配置
1.前置条件验证 (1) Ubuntu14.04操作系统. (2) 检验计算机是否为NVIDIA显卡,终端输入命令 $ lspci | grep -invidia (3) 检验计算机是否为x86_6 ...
- 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...
- ubuntu14.04+nvidia driver+cuda8+cudnn5+tensorflow0.12
文章在简书里面编辑的,复制过来貌似不太好看,还是到简书的页面看吧: http://www.jianshu.com/p/c89b97d052b7 1.安装环境简介: 硬件: cpu:i7 6700k g ...
- Ubuntu14.04安装wineqq国际版
一开始,我在Ubuntu14.04下安装的QQ版本是WineQQ2013SP6-20140102-Longene, 但后来发现这个版本QQ在linux下问题很多,比如不能用键盘输入密码,QQ表情 ...
- 论文阅读(Xiang Bai——【arXiv2016】Scene Text Detection via Holistic, Multi-Channel Prediction)
Xiang Bai--[arXiv2016]Scene Text Detection via Holistic, Multi-Channel Prediction 目录 作者和相关链接 方法概括 创新 ...
- Ubuntu14.04+Beanstalkd1.9最佳实践
目录 [TOC] 1.基本概念 1.1.什么是Beanstalkd? Beanstalkd 是一个轻量级消息中间件,它最大特点是将自己定位为基于管道 (tube) 和任务 (job) 的工作队列. ...
随机推荐
- idea中使用thymeleaf标签时有红色的波浪线怎么去掉
使用最新版本的idea2017可以解决,方法如下: 选择File->Settings->Editor->Inspections,然后搜索thymeleaf 将Expression v ...
- FMS4.5( Adobe Flash Media Server4.5)流媒体服务器搭建
下载FMS4.5 下载地址:http://pan.baidu.com/s/1pJLi5Ur(已更新) FMS是用于用户之间相互通讯的新平台.它集成了Flash多媒体交互的特性,又添加了实时音频和实时数 ...
- MySQL按日、周、月统计数据
知识关键词:DATE_FORMAT ps:如果时间字段为时间戳则,DATE_FORMAT(from_unixtime(create_time),'%Y-%u') select DATE_FORMAT( ...
- C++程序生成.exe文件,在文件夹中运行时闪现问题
问题描述:在IDE(此为Dev-C++)中编写C++程序,运行时会产生如下文字 但我想取消这三行的显示. 解决方法:1:在IDE中运行时,“请按任意键继续”是消失不掉的,但在该程序的保存路径下可以消灭 ...
- Mybatis-Plus 实战完整学习笔记(九)------条件构造器核心用法大全(上)
一.Mybatisplus通用(公共方法)CRUD,一共17种(3.0.3版),2.3系列也是这么多,这个新版本一定程度进行了改造和删减. 二.构造器UML图(3.0.3)-----实体包装器,主要用 ...
- fastjson 错误解决方案详情 com.alibaba.fastjson.JSONException: syntax error, expect {, actual EOF, pos 1410
原因: 前端传递的数组过于复杂,倒是出现这种问题,前端采用vue axios,发送请求,后端java接收代码,实现前后端分离 后端就收fastjson接收json,进行业务处理,后端Controlle ...
- 学python之路前的一些话
为什么学python: 这些年一直从事运维相关的工作.但做下来感觉都是些很基础的东西,无非就是对一些命令或者问题处理很熟练而已,混的都是经验.曾很羡慕会写shell脚本,会自动化安装程序的运维组组长, ...
- 20) maven 项目结构:all in one
这是最常见的项目结构 垂直结构 也是初学者常用的 也是小项目常用的 优点 全部代码在一个项目里,一目了然. 结构简单易于理解 一开始时小巧 缺点 随之而来的缺点也十分明显 前端项目,后端项目,接口项目 ...
- 主题模型之概率潜在语义分析(Probabilistic Latent Semantic Analysis)
上一篇总结了潜在语义分析(Latent Semantic Analysis, LSA),LSA主要使用了线性代数中奇异值分解的方法,但是并没有严格的概率推导,由于文本文档的维度往往很高,如果在主题聚类 ...
- 如何防止ElasticSearch集群出现脑裂现象
什么是“脑裂”现象? 由于某些节点的失效,部分节点的网络连接会断开,并形成一个与原集群一样名字的集群,这种情况称为集群脑裂(split-brain)现象.这个问题非常危险,因为两个新形成的集群会同时索 ...