在win10环境下进行tensorflow物体识别(ObjectDetection)训练 ObjectDetection系列(二)

安装ObjectDetection,CPU和GPU都需要

解压module.rar放到C:\TFWS\models目录

地址:https://github.com/tensorflow/models

解压protoc-3.6.1-win32.zip,将\bin\protoc.exe复制到C:\Windows\System32下。

地址:https://github.com/protocolbuffers/protobuf/releases

编译proto文件,需要在power shell下执行。C:\TFWS\models\research目录下(最前面时PS命令的都在power shell下执行

cd C:\TFWS\models\research

Get-ChildItem object_detection/protos/*.proto | Resolve-Path -Relative | %{ protoc $_ --python_out=. }

准备slim库,删除BUILD文件如果有的话,否则以下会报错。

cd C:\TFWS\models\research\slim

del BUILD

进入虚拟机环境venv。分别执行以下命令。

cd C:\TFWS\models\research\slim

python setup.py build

python setup.py install

安装,执行以下命令。(会下载一些依赖,时间可能很长,连接超时可以重新执行)

cd C:\TFWS\models\research

python setup.py build

python setup.py install

安装开发所需组件。(venv中)

pip install numpy

pip install opencv-python

pip install matplotlib

pip install jupyter  

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas

pip install Pillow

pip install Cython

制作图片训练集

安装windows版本的labelImg_v1.8.1.rar

https://github.com/tzutalin/labelImg

 

1.准备数据(一旦使用lableimg生成xml后,请勿更改图片路径)

分析代码结构:(可跳过)

C:\TFWS\models\research\object_detection\object_detection_tutorial.ipynb

GitHub官网给出的各种模型:

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md

人工lableimg标注图片(越多越好)

Lableimg下载:https://github.com/tzutalin/labelImg

使用方法:

Open dir 打开图片目录;

Change save dir更改xml存储路径;

Create react box 标注矩形框;快捷键 W

Ctrl+S 保存

可以设置默认lable:user the default lable

下一张图片:D

上一张图片:A

2.生成TFRecord,xml to csv ,csv to tfrecord。

c:\TFWS\VENVCPU\Scripts\activate

cd C:\TFWS\models\research\object_detection

注意:更改xml_to_csv和csv_to_tfrecord里面的相关路径(指的是:Lableimg圈出来的图片以及生成的xml)以及tfrecord中的lable

python do_xml_to_csv_train.py

python do_xml_to_csv_test.py

生成tfrecord:(注意路径)

python do_generate_tfrecord.py --csv_input=do_data/pictrain/do_train_labels.csv --output_path=do_data/pictrain/do_train.record --image_path=do_data/pictrain

python do_generate_tfrecord.py --csv_input=do_data/pictest/do_test_labels.csv --output_path=do_data/pictest/do_test.record --image_path=do_data/pictest

3.修改配置文件

下载地址:ssd_mobilenet_v1_coco.config

修改:

PATH_TO_BE_CONFIGURED改为自己的路径;

更改num_classes;

更改batch_size:1;或者更大(会影响训练效果,越大效果越稳定,但时间更久)

建议注释一下两行:

  #fine_tune_checkpoint: "C:\\TFWS\\models\\research\\object_detection\\do_data\\training\\model.ckpt"

  #from_detection_checkpoint: true

更改完成后在training目录下创建:do_label_map_pbtxt文件,写标签配置,例如:两个标签对应num classes应该为2

item {

  id: 1

  name: 'keyboard'

}

item {

  id: 2

  name: 'mouse'

}

4.开始训练。(venv中,重复测试请删除其他文件 除了do_label_map_pbtxt和ssd_mobilenet_v1_coco.config文件)

cd C:\TFWS\models\research\object_detection\legacy

python train.py --logtostderr --train_dir=C:\TFWS\models\research\object_detection\do_data\training --pipeline_config_path=C:\TFWS\models\research\object_detection\do_data\training\ssd_mobilenet_v1_coco.config

中途打断可以继续输入上述命令,会从上次的checkpoint继续执行。

5.导出模型(重复导出请删除result内全部内容)。

cd C:\TFWS\models\research\object_detection

python export_inference_graph.py \ --input_type image_tensor \  --pipeline_config_path  do_data\training\ssd_mobilenet_v1_coco.config \  --trained_checkpoint_prefix  do_data\training\model.ckpt-500 \  --output_directory do_data\result

6.测试模型。

更改testpb.py里面的路径相关参数。

cd C:\TFWS\models\research\object_detection

python testpb.py  # 该文件测试模型并且输出到img标注。需要注意目录结构。在do_data文件夹下新建img文件夹,测试图片放入。可能需要更改Num_classes.

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值