• Faster-rcnn 配置方法


    Faster-rcnn 在Linux下的配置方法

    感谢@邓学长

    建立过程:

    (下载库的时候要按照库readme 进行操作)

    在py3.5下安装

    • 安装anaconda(可以考虑改一下源,下载比较快,用命令改conda)清华镜像源

    • 下载另一个库Faster-RCNN_TF

    • 创建科学计算环境
      numpy,人工智能需要的库都下载下来,cython等等

    • conda install --channel 命令给电脑安装科学计算环境

    • 如果报错中出现SyntaxError,那可能就是Python版本导致的不兼容,改一下相应的部分

    • 把Faster-RCNN_TF 中的cython_bbox.xxx.so 复制到 lib/utils

    • 到Faster-RCNN-TensorFlow-python3.5下中的lib/datasets中修改pascal_voc 文件中的内容,具体查看博客

    • 运行 python train.py,跑完以后再跑demo.py

    • 数据集制作

    下面是适用于我本地环境的MATLAB代码

    %注意修改下面四个值  
    xmlfilepath='/home/pprp/github/Faster-RCNN-TensorFlow-Python3.5/data/VOC2007/Annotations';  
    txtsavepath='/home/pprp/github/Faster-RCNN-TensorFlow-Python3.5/data/VOC2007/ImageSets/Main';  
    trainval_percent=0.5; #trainval占整个数据集的百分比,剩下部分就是test所占百分比  
    train_percent=0.5; #train占trainval的百分比,剩下部分就是val所占百分比  
    
    xmlfile=dir(xmlfilepath);  
    numOfxml=length(xmlfile)-2;#减去.和..  总的数据集大小  
    
    trainval=sort(randperm(numOfxml,floor(numOfxml*trainval_percent)));  
    test=sort(setdiff(1:numOfxml,trainval));  
    
    trainvalsize=length(trainval); #trainval的大小  
    train=sort(trainval(randperm(trainvalsize,floor(trainvalsize*train_percent))));  
    val=sort(setdiff(trainval,train));  
    
    ftrainval=fopen([txtsavepath 'trainval.txt'],'w');  
    ftest=fopen([txtsavepath 'test.txt'],'w');  
    ftrain=fopen([txtsavepath 'train.txt'],'w');  
    fval=fopen([txtsavepath 'val.txt'],'w');  
    
    for i=1:numOfxml  
        if ismember(i,trainval)  
            fprintf(ftrainval,'%s
    ',xmlfile(i+2).name(1:end-4));  
            if ismember(i,train)  
                fprintf(ftrain,'%s
    ',xmlfile(i+2).name(1:end-4));  
            else  
                fprintf(fval,'%s
    ',xmlfile(i+2).name(1:end-4));  
            end  
        else  
            fprintf(ftest,'%s
    ',xmlfile(i+2).name(1:end-4));  
        end  
    end  
    fclose(ftrainval);  
    fclose(ftrain);  
    fclose(fval);  
    fclose(ftest);
    
    • 可能过程中还是会报错,只要百度一下就应该可以解决

    • 数据的放置结构(这个困惑了我好久)

    -data
        - VOCdevkit2007
            - VOC2007
                - Annotations (标签XML文件,用对应的图片处理工具人工生成的)
                - ImageSets (生成的方法是用sh或者MATLAB语言生成)
                    - Main
                        - test.txt
                        - trian.txt
                        - trainval.txt
                        - val.txt
                - JPEGImages(原始文件)
    
  • 相关阅读:
    Java Web系统经常使用的第三方接口
    ExtJS笔记--applyTo和renderTo的差别
    ORACLE触发器具体解释
    java多线程样例
    RapeLay(电车之狼R)的结局介绍 (隐藏结局攻略)
    排序——选择排序
    常见hash算法的原理
    jdk和jre是什么?都有什么用?(转帖)
    Ubuntu下deb包的安装方法
    參加《全流程全要素的研发项目管理》培训记录与心得
  • 原文地址:https://www.cnblogs.com/pprp/p/8732490.html
Copyright © 2020-2023  润新知