前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >目标检测第6步-使用keras版RetinaNet训练

目标检测第6步-使用keras版RetinaNet训练

作者头像
潇洒坤
发布2019-04-18 14:16:04
2.9K1
发布2019-04-18 14:16:04
举报
文章被收录于专栏:简书专栏简书专栏

致谢声明

1.本文学习fizyr的github工程《keras-retinanet》,此github工程链接:https://github.com/fizyr/keras-retinanet

此链接中已经具备充分且详细的工程使用指导,本文在此基础上实现数据准备部分的csv文件生成、利用检测模型实现视频检测效果这2个功能。

0.配置代码运行环境

0.1 硬件配置要求

所有的目标检测工程都需要有较大显存的显卡才能够运行,本文作者在编写此文时使用的是8GB显存的RTX2070显卡。

本文作者没有测试6GB显存的显卡是否能运行此工程,读者可以自己尝试。

只有Nvidia品牌的显卡可以运行深度学习,AMD品牌的显卡不可以运行深度学习。

那么Nvidia品牌具有8GB显存的最低价格显卡的型号为GTX1070。

如果购买资金充足,建议购买GTX1080Ti,此版本已经停售,市面上可购二手,11G显存可以运行绝大多数的目标检测算法模型。

如果购买资金不足,最少也得购买GTX1070,否则可能无法继续本文下面的实验。

如果没有nvidia显卡,但有visa信用卡,请阅读我的另一篇文章《在谷歌云服务器上搭建深度学习平台》,链接:https://www.jianshu.com/p/893d622d1b5a

0.2 软件配置要求

各种软件版本:

操作系统:Windows10

Anaconda :5.2

python : 3.6

CUDA :9.0

cudnn :7.3

tensorflow_gpu :1.10

Keras :2.2.4

有显卡之后需要配置深度学习环境,请阅读我的另一篇文章《深度学习环境搭建-CUDA9.0、cudnn7.3、tensorflow_gpu1.10的安装》,链接:https://cloud.tencent.com/developer/article/1371243

1.数据准备

1.1 数据下载

如果读者有自己已经使用labelImg软件标注好的数据,可以直接跳到1.4节图片压缩。

本文作者给读者演示的图片数据是来自ImageNet中的鲤鱼分类。

数据集压缩文件n01440764.tar下载链接: https://pan.baidu.com/s/1NksESNqBX--YqMJ4zptGdw 提取码: 6p3u

在桌面新建文件夹keras_RetinaNet,把下载好的压缩文件n01440764.tar放到其中,如下图所示:

image.png

选择提取到n01440764,如下图所示:

image.png

解压完成后,桌面的文件夹keras_RetinaNet中的情况,如下图所示:

image.png

1.2 选择像素足够的图片

在此数据集中,大部分图片都较为清晰,但是有极少数图片像素点少,不清晰。

像素点少的图片不利于模型训练或模型测试,所以在本章节中实现用python代码选出部分图片文件。

下载代码文件01_selectImages.py,链接: https://pan.baidu.com/s/1wfUnxYeZ1nJ1jk7G_4oQFQ 提取码: gdek

把代码文件01_selectImages.py放到文件夹keras_RetinaNet中,如下图所示:

image.png

在文件夹keras_RetinaNet中运行cmd,即在Windows资源管理器的路径处输入cmd,按Enter键运行,如下图所示:

image.png

在cmd中运行命令python 01_selectImages.py -d n01440764,如下图所示:

image.png

运行命令完成后,桌面的文件夹keras_RetinaNet中的情况,如下图所示:

image.png

1.3 图片数据标注

使用打标签工具LabelImg,下载页面链接:https://tzutalin.github.io/labelImg

如果下载页面链接没法访问,也可以从百度云盘中下载。

百度云盘下载链接:https://pan.baidu.com/s/1jVmkLxqQMZNJIzyv75HilA 提取码:yysh

下载页面如下图所示:

image.png

选择下载Windows_v1.8.0,如下图中红色箭头标记处所示:

image.png

把压缩文件windows_v1.8.0.zip放到D盘根目录中,选择解压到当前文件夹

解压后D盘根目录下会有windows_v1.8.0文件夹,LabelImg软件在文件夹中。

选择D盘根目录的原因:如果windows_v1.8.0文件夹路径中带有中文,打开LabelImg软件会闪退

打开LabelImg软件,点击下图红色箭头标记处。

image.png

在打开的软件界面,点击Open Dir按钮,如下图红色箭头标注处所示。

image.png

首先打开桌面的文件夹keras_RetinaNet,在选中文件夹01_selectedImages的情况下,点击下图红色箭头标记处所示的选择文件夹按钮。

image.png

在输入法为英文输入的情况下,按键盘上的w键则可以开始绘制方框,方框会框住图片中的物体。

完成绘制方框后,还需要为方框标上类别,如下图所示。

注意:每完成一张图的打标签,一定要记得保存!!!

image.png

在本文演示中,需要给图片中的鲤鱼人脸2个类别打标签。

鲤鱼的标签名叫做fish,人脸的标签名叫human_face,打标签的结果如下图所示。

注意:用方框框住物体时,尽量框住物体的所有部位,例如本文中的鱼,鱼鳍是一个重要特征。保证框住物体所有部位的情况下,也不要使方框四周留出过多空白。

image.png

遇到特征不明显的图片,可以放弃为此图片打标签,举例如下图所示:

image.png

为200张图片打标签,本文作者共花费90分钟。

本文作者提供200张已经标注的图片,便于读者直接复现。

压缩文件01_selectedImages.zip下载链接: https://pan.baidu.com/s/1YhLmY-IPpVmyFC4PUjSg_A 提取码: imv4

把压缩文件01_selectedImages.zip复制到桌面的文件夹keras_RetinaNet中,并选择提取到01_selectedImages

完成压缩文件的解压后,桌面的文件夹keras_RetinaNet中的情况,如下图所示:

image.png

1.4 检查标注数据

下载代码文件02_selectImages.py,链接: https://pan.baidu.com/s/17GAz2eF4sta8pQrNRDlDUQ 提取码: yxjm

把代码文件02_selectImages.py放到桌面的文件夹keras_RetinaNet中。

在文件夹keras_RetinaNet中运行cmd,即在Windows资源管理器的路径处输入cmd,按Enter键运行。

在cmd中运行命令python 02_checkAnnotations.py -d 01_selectedImages,如下图所示:

image.png

1.5 划分训练集和测试集

下载代码文件03_xml2csv.py,链接: https://pan.baidu.com/s/1cygU3AfkPmF3gmCmdlU1oQ 提取码: amja

把代码文件03_xml2csv.py放到桌面的文件夹keras_RetinaNet中。

在文件夹keras_RetinaNet中运行cmd,即在Windows资源管理器的路径处输入cmd,按Enter键运行。

在cmd中运行命令python 03_xml2csv.py -d 01_selectedImages,如下图所示:

image.png

运行命令完成后,桌面的文件夹keras_RetinaNet中的情况,如下图所示:

image.png

2.模型训练

2.1 下载并安装Microsoft C++ build 14.0

只有先安装C++的编译工具,才能在Windows系统上安装keras_retinanet库。

首先下载Microsoft C++ build 14.0,链接:https://go.microsoft.com/fwlink/?LinkId=691126

文件只有3M左右大小,下载完成如下图所示。

image.png

打开安装文件visualcppbuildtools.exe,初始化安装程序,如下图所示:

image.png

安装类型选择自定义,然后点击下一步,如下图红色箭头标记处所示。

image.png

选择功能只勾选Windows 10 SDK 10.0.10240,然后点击下一步,如下图所示:

image.png

点击下图红色箭头标记处所示的安装按钮,则开始安装。

image.png

安装过程中截图,如下图所示:

image.png

完成安装后,点击关闭即可。

2.2 下载并安装keras_retinanet库

github工程网页链接:https://github.com/fizyr/keras-retinanet

选择Download ZIP下载工程压缩文件keras-retinanet-master.zip,如下图所示:

image.png

把压缩文件keras-retinanet-master.zip复制到桌面的文件夹keras_RetinaNet中,并选择解压到当前文件夹

完成压缩文件的解压后,桌面的文件夹keras_RetinaNet中的情况,如下图所示:

image.png

在文件夹keras-retinanet-master中运行cmd,即在Windows资源管理器的路径处输入cmd,按Enter键运行,如下图所示:

image.png

在cmd中运行命令pip install .,如下图所示。

出现下图红色箭头标记处所示信息,则表示已经成功安装keras_retinanet库。

如果不成功,请再次确认cmd是否处于文件夹keras-retinanet-master路径,如下图红色划线处所示。

image.png

2.3 开始训练

在文件夹keras_RetinaNet中运行cmd,即在Windows资源管理器的路径处输入cmd,按Enter键运行,如下图所示:

image.png

在cmd中运行命令retinanet-train ...,如下图所示。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 致谢声明
  • 0.配置代码运行环境
    • 0.1 硬件配置要求
      • 0.2 软件配置要求
      • 1.数据准备
        • 1.1 数据下载
          • 1.2 选择像素足够的图片
            • 1.3 图片数据标注
              • 1.4 检查标注数据
              • 1.5 划分训练集和测试集
              • 2.模型训练
                • 2.1 下载并安装Microsoft C++ build 14.0
                  • 2.2 下载并安装keras_retinanet库
                    • 2.3 开始训练
                    相关产品与服务
                    命令行工具
                    腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档