Tensorflow 迁移学习 识别中国军网、中国军视网Logo水印
Tensorflow 目标检测项目
图片logo水印识别。识别中国军网、中国军视网Logo水印。
Step 0 下载项目
git clone https://github.com/tensorflow/models/tree/master/research/object_detection
Step 1 在将项目目录添加到PYTHONPATH
作者bourdakos1整合了tensorflow中的object-detection和slim两个子项目。
设置环境,把当前目录、slim、object_detection 三个目录加到环境变量PYTHONPYTHON。
export PYTHONPATH=/root/workspace/Custom-Object-Detection:/root/workspace/Custom-Object-Detection/slim:/root/workspace/Custom-Object-Detection/object_detection:$PYTHONPATH
Step 2 安装labelImg标注数据
#如果提示缺少组件,逐步安装
pip install labelImg
# 启动
labelImg
Step 3 标注数据
labelImg标注图片,生成xml文件。
- /images目录下保存图片文件。
- /annotations/label_map.pbtxt,logo标识配置文件:设置军网logo为pic1,军视网logo为pic2。
- /annotations/trainval.txt,训练图片列表
- /annotations/xmls,保存标注xml文件。
Step 4 转化训练的图片生成record文件
创建好标注文件后,运行下面的文件。
python object_detection/create_tf_record.py
# 运行上面的命令,在项目上生成train.record,val.record两个文件
Step 5 选择网络
作者给出里5种网络结构,本次选用faster_rcnn_reset101。网络性能特点如下表,
| Model name | Speed | COCO mAP | Outputs |
|---|---|---|---|
| ssd_mobilenet_v1_coco | fast | 21 | Boxes |
| ssd_inception_v2_coco | fast | 24 | Boxes |
| rfcn_resnet101_coco | medium | 30 | Boxes |
| faster_rcnn_resnet101_coco | medium | 32 | Boxes |
| faster_rcnn_inception_resnet_v2_atrous_coco | slow | 37 | Boxes |
Step 6 迁移学习
需要两个文件,(1)config文件和(2)model.ckpt文件。
config文件在路径
object_detection/samples/configs/下,包含多种网络,config文件中描述了网络参数、训练参数等配置。下载model文件,解压后将model.ckpt开头的三个文件保存在项目根目录下。下载链接在上表中。
Step 7 训练模型
只需要指明config文件,默认加载根目录下的model.ckpt文件
python object_detection/train.py \
--logtostderr \
--train_dir=train \
--pipeline_config_path=faster_rcnn_resnet101.config
在训练的过程中,会将模型参数保存到train目录下。
Step 8 生成模型,导出图
将train目录下生成的model.ckpt-数字三个文件拷贝到项目根目录,运行命令
python object_detection/export_inference_graph.py \
--input_type image_tensor \
--pipeline_config_path faster_rcnn_resnet101.config \
--trained_checkpoint_prefix model.ckpt-数字 \
--output_directory output_inference_graph
Step 9 测试
将测试文件放在test_images路径下,运行
python object_detection/object_detection_runner.py
# 结果保存在output文件夹下
Step 10 GPU训练
基于阿里云GN4型服务器1个NVIDIA M40 GPU,训练6000轮,最终得到了较好的识别效果。
Step 11 问题
深度神经网络识别Logo水印,方法简单,构建较小数据集,而且训练时间也不是很长。
但预测时间比较长,模型比较大,下一步改用mobilenet,希望能将预测时间降到0.1秒。
如果使用YOLO,模型算法上会比rcnn更快。
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Python 3.7.0 来了!
【新智元导读】Python官网静悄悄地发布了一条大消息:正式发布 Python 3.7.0!同时发布的还有Python 3.6.6稳定版。官网刚刚更新了可下载文档,还在用Python 2.7和Python3.5的你,赶紧用起来! Python官网宣布,正式发布Python 3.7.0! 2018年6月27日星期三 Python 3.7.0现已推出(同时还有3.6.6版本)! 代表Python开发社区和Python 3.7发布团队,我们很高兴地宣布Python 3.7.0现在可以使用了。Python 3.7.0是Python语言的最新功能版本,包含许多新的功能和优化。你可以在这里下载 Python 3.7.0: https://www.python.org/downloads/release/python-370/ Python的大多数第三方库
-
下一篇
史上最全最强SpringMVC详细示例实战教程
SpringMVC学习笔记---- 一、SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包。 2.添加Web.xml配置文件中关于SpringMVC的配置 springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc-servlet.xml springmvc / 3.在src下添加springmvc-servlet.xml配置文件 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/bean...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19

微信收款码
支付宝收款码