配置fast-rcnn并进行二分类实验

4人阅读 评论(0) 收藏 举报

参考原作者github:https://github.com/rbgirshick/fast-rcnn

1. 下载fast-rcnn

git clone --recursive https://github.com/rbgirshick/fast-rcnn.git
如果caffe-fast-rcnn目录没有下下来,则执行:

git submodule update --init --recursive
2. 编译fast-rcnn

cd $FRCN_ROOT/lib
make
进入caffe-fast-rcnn目录,复制Makefile.config.example文件,重命名为Makefile.config。

执行:

cd $FRCN_ROOT/caffe-fast-rcnn
make -j8 && make pycaffe

运行demo:

cd $FRCN_ROOT
./tools/demo.py



3. 修改数据集

1.修改lib/datasetsfactory.py文件

    factory.py调用pascal_voc.py。修改数据集名。

2.修改pascal_voc.py文件

pascal_voc.py初始化数据集。主要修改以下方面:

1) 数据集地址相关

2) selective_search生成的.mat文件

      可使用的selective_search代码:https://github.com/AlpacaDB/selectivesearch

      生成备选框的代码:

from selectivesearch import selective_search
import cv2
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from numpy import *  
import scipy.io as scio
import os

def generateBoxes(pic_name, im_path, mat_dir):
    img = cv2.imread(im_path)
    # perform selective search
    img_lbl, regions = selective_search(
        img, scale=200, sigma=0.8, min_size=100)

    candidates = []
    for r in regions:
        # excluding same rectangle (with different segments)
        if r['rect'] in candidates:
            continue
        # excluding regions smaller than 2000 pixels
        if r['size'] < 2:
            continue
        # distorted rects
        x, y, w, h = r['rect']
        if w==0 or h==0:
            continue
        if w/h > 4 or h/w > 10:
            continue
        candidates.append([x,y,x+w,y+h])
    # draw_boxes()
    # result = {'boxes': array(candidates)}
    # print '{} candidates in picture {}.'.format(len(candidates), pic_name)
    # mat_dir = os.path.join(mat_dir, pic_name+'.mat')
    # scio.savemat(mat_dir, result)  
    return candidates

def draw_boxes(img, candidates):
    # draw rectangles on the original image
    fig, ax = plt.subplots(ncols=1, nrows=1, figsize=(6, 6))
    ax.imshow(img)
    for x, y, w, h in candidates:
        rect = mpatches.Rectangle(
            (x, y), w, h, fill=False, edgecolor='red', linewidth=1)
        ax.add_patch(rect)

    plt.show()
    return

3) _load_selective_search_roidb()函数

    如果.mat文件格式(尤其是box坐标)有修改

4) _load_pascal_annotation()函数

    我只要voc数据集中的person的数据,则要修改num_objs的赋值和obj的遍历。

5) self._classes

TIPS:

* 如果报错:

Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: Python
参考:https://blog.csdn.net/huobanjishijian/article/details/78582315  (重新make之前先make clean)

asd

asd


查看评论

使用 AdaBoost 算法进行二分类实战

Python在机器学习领域应用是非常广泛的,比如,我们可以使用机器学习进行验证码识别,使用机器学习实现计算机视觉项目,或者,我们也可以使用机器学习技术实现网页分类、文本挖掘、情感分析等等各种各样的事情。机器学习的重点在于算法,而算法的学习相对来说是比较枯燥的,所以,只有在学习的时候让算法跟实例结合,才能够让算法的学习变得不枯燥,并且也才能够更好的将理论运用与实践。
  • 2017年04月14日 10:40

CCNA实验十一 STP

                                  CCNA实验十一 STP环境:Windows XP 、GNS3.0.7目的:了解STP并干预STP选举。说明:      STP(S...
  • kkfloat
  • kkfloat
  • 2010-11-21 14:27:00
  • 4329

RIP协议配置实验 (hp设备的使用)

 1. 实验目的 ·了解路由器命令的作用。 ·掌握如何配置RIP协议。 ·测试网络连通性 2. 实验设备   一台HP7203路由器,两台HP7102路由器,两台H...
  • u014253173
  • u014253173
  • 2014-04-24 20:18:01
  • 2535

实验二 分类算法实验

一.实验目的1.巩固4种基本的分类算法的算法思想:朴素贝叶斯算法,决策树算法,人工神经网络,支持向量机算法; 2.能够使用现有的分类器算法代码进行分类操作 3.学习如何调节算法的参数以提高分类性能...
  • tangyuanzong
  • tangyuanzong
  • 2017-12-24 16:32:06
  • 2818

fast-rcnn配置运行demo.py(Ubuntu14.04)

我(lee)在这份博客中对fast-rcnn配置运行demo.py做出相应操作说明,希望可以解决大家对fast-rcnn配置的困惑,少走弯路。 注意:fast-rcnn是建立在caffe已经配置好的基...
  • samylee
  • samylee
  • 2016-03-23 19:35:43
  • 7985

Ubuntu15.04 Fast-RCNN配置 cuda7.0

这两天看了一下RCNN和Fast-RCNN,虽然Faster-RCNN也出来了,但是还是想先研究一下Fast-RCNN,废话不多说,先配置好,这次的配置比较简单,当然前期的依赖项得先装好,我是之前配置...
  • Lxh19920114
  • Lxh19920114
  • 2015-11-30 15:03:07
  • 1670

fast rcnn 训练自己的数据集(编译环境配置)

FastRCNN 训练自己数据集 (1编译配置) 转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ h...
  • u012910595
  • u012910595
  • 2017-10-16 13:36:53
  • 323

ubuntu 16.04 配置fast rcnn

caffe 配置成功的基础上,如果caffe没有配置按照我的caffe配置博客配置 1.下载fast rcnn git clone --recursive https://github.com/...
  • tmosk
  • tmosk
  • 2017-06-15 13:49:41
  • 501

sklearn之SVM二分类

理论部分 线性支持向量机 对偶形式支持向量机 核函数支持向量机 软间隔支持向量机 Kernel Logistic Regression Support Vector Regression(SVR) ...
  • robin_Xu_shuai
  • robin_Xu_shuai
  • 2017-12-04 08:37:24
  • 1227

matlab下的SVM二分类问题

  • 2015年07月15日 10:19
  • 2KB
  • 下载
    个人资料
    等级:
    访问量: 182
    积分: 21
    排名: 268万+
    文章分类
    文章存档