目标检测demo

最近,由于科研项目上的需要,笔者开始接触基于深度学习的目标检测。今天,笔者将给大家分享在windows10上利用Anaconda完成对Tensorflow Object Detection API的环境搭建及其DEMO实现。关于该API的介绍,百度/谷歌一查一大堆,笔者就不在这里作介绍。

为什么要写这篇博客

笔者一开始在Github上找到了该API的项目(链接:https://github.com/tensorflow/models/tree/master/research/object_detection )在这上面可以看到该API的介绍以及提供的使用方法,但可惜地是,对方只提供了Linux和MacOS两种系统的安装方式。笔者在Linux上试过,安装起来的确比在windows上要方便很多,MacOS没试(其实是买不起0.0)。后来,笔者也在网上找到很多关于在windows10下安装该API的教程,于是便想试试,真是不试不知道,一试吓一跳,尝试了好多教程的方法但都没有成功,总能出现一些奇奇怪怪的BUG。不过皇天不负有心人,最后磕磕碰碰也算是完成了。因此,便想写下这篇博客,让后来人少走点弯路。
话不多说,进入今天的正题。

实现步骤

1.借助Anaconda配置API所需的基本库
2.下载tensorflow/models
3.Protobuf安装与配置
4.PYTHONPATH环境变量设置
5.测试API
6.测试DEMO

PS:笔者个人真心非常推荐Anaconda这款软件,管理环境极其好用。

1.1 安装Anaconda及创建虚拟环境
Anaconda软件安装比较简单,可以参考笔者之前的文章(链接:https://blog.csdn.net/qq_40434140/article/details/84800901 ),当然也可以网上找,教程很多,这里不赘述。软件安装最新版即可(记得用python3系列的)。
安装完成后可以在菜单中找到Anaconda Prompt,这是Anaconda Navigator对应的命令行终端,我们打开Prompt。
在这里插入图片描述
在这里插入图片描述
我们利用prompt创建一个虚拟环境,这是一个独立于系统环境的另一个环境,两者互不干扰,这是Anaconda环境管理的功能也是它最突出的优点。我们在prompt输入 conda create -n tensorflowAPI python=3.5按下回车,便可以创建一个基于python3.5的虚拟环境,其中“tensorflowAPI”是该虚拟环境的名称,你也可以取别的名字,方便自己理解就行。
出现如下图的提示信息,就说明虚拟环境已经创建完成。
在这里插入图片描述
接下来,输入conda activate tensorflowAPI 以激活该虚拟环境(或者说进入该虚拟环境)。如图所示,前面括号里从“base”变成了“tensorflowAPI”便说明成功进入该环境。
在这里插入图片描述
1.2 API所需的基本库安装
打开Anaconda Navigator软件,在左侧“Environments”选项中,可以看到我们之前创建的名为“tensorflowAPI”的虚拟环境,点击该环境,可以在右侧看到该环境中已经安装的基本库。如下图所示。
在这里插入图片描述
在该API对应的Github项目上,提供了该API所依赖的基本库,如下图所示。
在这里插入图片描述
我们在Anaconda Navigator中将“Installed”切换为“Not installed”,并在右侧搜索框输入对应库的名称,进行安装即可。以安装“protobuf”为例,进行说明。如图所示,输入“protobuf”后,下面会检索到对应的库,选择最下面一项,在右下角点击“Apply”,便会出现对应将要安装库的一些信息以及它自身所依赖的包,再点击“Apply”便会进行安装。
在这里插入图片描述
在这里插入图片描述
其他几个库都能以这样的方式安装(注意:tf Slim库除外,本文后面会介绍该库的安装方法;Python-tk及cocoapi不需要安装)
通过以上方法安装后,要注意查看tensorflow的版本,如果版本低于1.9,可以右键tensorflow,选择对应版本。如下图所示的方式更新到1.9.0版本。
在这里插入图片描述
当然,如果觉得上面的方法太繁琐,也可以在prompt中用命令行的方式进行库的安装。将当前环境切换至(tensorflowAPI),然后输入相应命令行进行安装。

  1. 安装tensorflow:pip install --upgrade tensorflow(这是CPU版本,若要安装GPU版本,可以参考我之前的博客:https://blog.csdn.net/qq_40434140/article/details/84800901
  2. 安装protobuf、Cython、pillow、lxml、jupyter、matplotlib:
    conda install protobuf
    conda install Cython
    conda install pillow
    conda install lxml
    conda install jupyter
    conda install matplotlib

2. 下载tensorflow/models
下载地址:https://github.com/tensorflow/models
在这里插入图片描述
如上图所示,从右上角所圈处下载。下载完成后解压到某一文件夹(路径可以自己设置)。
如下图所示,笔者把文件放到了“D:\TensorflowDET\models”
在这里插入图片描述

3. protobuf安装与配置
下载链接:https://github.com/protocolbuffers/protobuf/releases?after=v3.4.1
找到如图所示的protobuf-3.4.0-win32.zip,点击下载。
在这里插入图片描述
下载完成后解压压缩包,把解压后的文件夹里的文件都复制到“D:\TensorflowDET”目录下,如下图所示。
在这里插入图片描述
把bin文件夹的路径添加到环境变量的path路径中,如下图所示。
在这里插入图片描述
在“D:\TensorflowDET\models\research”目录下打开cmd命令行窗口,输入以下命令并回车:
protoc object_detection/protos/*.proto --python_out=.
如果不报错那就没问题,“D:\TensorflowDET\models\research\object_detection\protos”下会出现对应的python文件
如果报错并出现“No such File or directory”,很有可能是版本的问题,笔者推荐下载Protocol Buffers v3.4.0版本的,然后再按上述步骤运行命令一般就没问题了。

4. PYTHONPATH环境变量设置
在环境变量中的系统环境变量中新建名为“PYTHONPATH”的变量,如下图所示。
在这里插入图片描述
打开prompt,激活“tensorflowAPI”虚拟环境,将路径切换至“D:\TensorflowDET\models\research”,如下图所示,输入以下命令并回车:python setup.py install,等待程序执行完成。
在这里插入图片描述
再将路径切换至“D:\TensorflowDET\models\research\slim”,如下图所示,输入以下命令并回车:python setup.py install,等待程序执行完成。
在这里插入图片描述
如果slim文件下已经有了BUILD,需要先删掉这个,然后再python setup.py install
这就是前面提到的 tf slim 库的安装

5. 测试API
prompt中路径切换回“D:\TensorflowDET\models\research”,输入以下命令并回车:python object_detection/builders/model_builder_test.py,等待程序执行完成,不报错则说明运行成功。
至此,我们已经成功配置好API环境极其所需基本库,

6. 测试DEMO
prompt中路径切换至“D:\TensorflowDET\models\research\object_detection”,然后输入命令并回车:jupyter notebook浏览器会打开当前文件夹,点开object_detection_tutorial.ipynb,见图可知。
在这里插入图片描述
在这里插入图片描述
在新打开 的网页中,点击上方的 “Cell”-“Run All”,即下图所圈处。
在这里插入图片描述
程序运行过程中,会有一段出现warning,可以不用管,稍等一会,就可以看见DEMO演示的结果,如下图所示。
在这里插入图片描述
至此,Tensorflow object detection API的DEMO就跑了通了一次。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值