开发者社区> 白头雁> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Tensorflow 迁移学习 识别中国军网、中国军视网Logo水印

简介: Tensorflow 目标检测项目 图片logo水印识别。识别中国军网、中国军视网Logo水印。 image image Step 0 下载项目 git clone https://github.com/tensorflow/models/tree/master/research/object_detection Step 1 在将项目目录添加到PYTHONPATH 作者bourdakos1整合了tensorflow中的object-detection和slim两个子项目。
+关注继续查看

Tensorflow 目标检测项目

图片logo水印识别。识别中国军网、中国军视网Logo水印。

image

image

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文件。

  1. /images目录下保存图片文件。
  2. /annotations/label_map.pbtxt,logo标识配置文件:设置军网logo为pic1,军视网logo为pic2。
  3. /annotations/trainval.txt,训练图片列表
  4. /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轮,最终得到了较好的识别效果。


image

Step 11 问题

深度神经网络识别Logo水印,方法简单,构建较小数据集,而且训练时间也不是很长。

但预测时间比较长,模型比较大,下一步改用mobilenet,希望能将预测时间降到0.1秒。

如果使用YOLO,模型算法上会比rcnn更快。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《白话深度学习与TensorFlow》——3.3 其他特点
本节书摘来自华章计算机《白话深度学习与TensorFlow》一书中的第3章,第3.3节,作者:高扬,卫峥著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1776 0
《白话深度学习与TensorFlow》——导读
另一方面,深度学习从其解决问题的根本理论方面需要比较深厚和扎实的数学基础,尤其是高等数学、线性代数、泛函分析及其延伸学科的基础,这就使得很多高等数学相关基础不好的朋友学习起来非常吃力。
2053 0
深度学习之 TensorFlow(三):TensorFlow 源代码解析
分析一下 TensorFlow 的文件结构。这里的源代码版本是 TensorFlow1.7.0 。 目录结构如下: 其中的核心目录是 tensorflow 目录,最重要的源代码保存在这里,目录结构如下: 1.contrib 目录中保存的是将常用的功能封装成的高级 API,但是这个目录并不是官方支持的,很有可能在高级 API 完善后被官方迁移到核心的 TensorFlow 目录中或去掉。
1245 0
tensorflow rnn 最简单实现代码
因为现在的 example 都比较复杂涉及东西比较多,抽出来一个极简版本。 #!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf from tensorflow.
621 0
TensorFlow RNN 教程和代码
分析: 看 TensorFlow 也有一段时间了,准备按照 GitHub 上的教程,敲出来,顺便整理一下思路。
647 0
机器学习PAI 可视化建模 Tensorflow升级通知
机器学习PAI 可视化建模 Tensorflow升级通知!请PAI Tensorflow用户注意查收邮件!
1937 0
TensorFlow 基础实战
今天通过一个实例,来学习下 Tensorflow 的基本操作加实战
0 0
Tensorflow 课程简介 | 学习笔记
快速学习 Tensorflow 课程简介
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
创业公司的域名想象
立即下载
服务器的第一道防线-美联集团堡垒的前世今生
立即下载
使命必达—钉钉企业级消息服务的机遇与挑战
立即下载