操作系统:

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-dev libprotobuf-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: phxk

    2. run demo,检测结果会保存在Text-Detection-with-FRCN/output_img

    cd Text-Detection-with-FRCN/
    ./script/text_detect_demo.sh

    3. 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.zip

    3.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-text

    3.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_DATA

    3.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_models
    cd Text-Detection-with-FRCN/py-faster-rcnn/data/scripts
    ./ fetch_faster_rcnn_models.sh

    2. 修改 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

参考:

  1. http://www.cnblogs.com/justinzhang/p/5386837.html
  2. http://blog.sina.com.cn/s/blog_679f93560102wpyf.html
  3. http://blog.csdn.net/wuzuyu365/article/details/5189525
  4. http://blog.csdn.net/u011762313/article/details/47262549

Ubuntu14.04 + Text-Detection-with-FRCN(CPU)的更多相关文章

  1. Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新)

    前言: 最近在学习深度学习,最先要解决的当然是开源框架的环境安装了.之前一直在学习谷歌的Tensorflow开源框架,最近实验中需要跟别人的算法比较,下载的别人的代码很多都是Caffe的,所以想着搭建 ...

  2. ubuntu14.04 编译安装CPU版caffe

      本文,试图中一个干净的ubuntu14.04机器上安装caffe的cpu版本. http://blog.csdn.net/sinat_35188997/article/details/735304 ...

  3. ubuntu14.04下CPU的caffe配置,不成功的朋友请与我(lee)联系,后面附带邮箱

    因广大朋友需求cpu的caffe配置.所以我(lee)在这份博客中对cpu配置caffe做出对应操作说明.希望能够解决大家对cpu配置caffe的困惑.少走弯路. 假设有安装不成功的朋友能够和我联系, ...

  4. Ubuntu14.04 caffe 配置

    1.前置条件验证 (1) Ubuntu14.04操作系统. (2) 检验计算机是否为NVIDIA显卡,终端输入命令 $ lspci | grep -invidia  (3) 检验计算机是否为x86_6 ...

  5. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  6. ubuntu14.04+nvidia driver+cuda8+cudnn5+tensorflow0.12

    文章在简书里面编辑的,复制过来貌似不太好看,还是到简书的页面看吧: http://www.jianshu.com/p/c89b97d052b7 1.安装环境简介: 硬件: cpu:i7 6700k g ...

  7. Ubuntu14.04安装wineqq国际版

       一开始,我在Ubuntu14.04下安装的QQ版本是WineQQ2013SP6-20140102-Longene, 但后来发现这个版本QQ在linux下问题很多,比如不能用键盘输入密码,QQ表情 ...

  8. 论文阅读(Xiang Bai——【arXiv2016】Scene Text Detection via Holistic, Multi-Channel Prediction)

    Xiang Bai--[arXiv2016]Scene Text Detection via Holistic, Multi-Channel Prediction 目录 作者和相关链接 方法概括 创新 ...

  9. Ubuntu14.04+Beanstalkd1.9最佳实践

    目录 [TOC] 1.基本概念 1.1.什么是Beanstalkd?   Beanstalkd 是一个轻量级消息中间件,它最大特点是将自己定位为基于管道 (tube) 和任务 (job) 的工作队列. ...

随机推荐

  1. org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403

    爬取网站的时候 conn = Jsoup.connect(url).timeout(5000).get();直接用get方法,有些网站可以正常爬取. 但是有些网站报403错误,403是一种在网站访问的 ...

  2. IntelliJ IDEA 2017版 spring-boot2.0.4+mybatis+Redis处理高并发,穿透问题

    一.当采用reddis缓存的时候,如果同时,一万次访问,那么就会有10000次访问数据库所以就会对数据库造成巨大压力,这时候,就要用到线程 1.方法体上加锁(优点,防护住了并发锁,缺点降低了内存效率) ...

  3. 剑指offer42:不用加减乘除做加法

    分析: (1)十进制加法分三步:(以5+17=22为例) 1. 只做各位相加不进位,此时相加结果为12(个位数5和7相加不进位是2,十位数0和1相加结果是1): 2. 做进位,5+7中有进位,进位的值 ...

  4. windows下,将MySQL做成服务/脚本启动

    将mysql作为服务启动   假设数据库安装在:c:\Program Files\mysql 目录下 进入mysql的安装目录bin下 cd c:\Program Files\mysql\bin   ...

  5. MySQL在线大表DDL操作

    在线大表DDL操作的方法: 1.主从架构轮询修改 需要注意: a.主库会话级别的记录binglog的参数关闭 b.500\502错误异常捕捉 c.检查备库的second behind master是否 ...

  6. VB6.0中WinSock控件属性和方法详解

    原文链接:http://liweibird.blog.51cto.com/631764/653134 WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器 ...

  7. ueditor+word粘贴上传

    公司做的项目要用到文本上传功能. 网上找了很久,大部分都有一些不成熟的问题,终于让我找到了一个成熟的项目. 下面就来看看: 1.打开工程: 对于文档的上传我们需要知道这个项目是否符合我们的初衷. 运行 ...

  8. 使用 alt_disk_copy 克隆 rootvg

    地址:http://www.ibm.com/developerworks/cn/aix/library/au-alt_disk_copy/ 简介 大多数系统管理员都遇到过以下情况: 一次 ML 升级失 ...

  9. HDU 2546 01背包

    http://acm.hdu.edu.cn/showproblem.php?pid=2546 经典的01背包 预留5元买最贵的,剩余的就是01背包. #include<stdio.h> # ...

  10. (树)Subtrees -- hdu -- 5524

    http://acm.hdu.edu.cn/showproblem.php?pid=5524 Subtrees Time Limit: 2000/1000 MS (Java/Others)    Me ...