从自动驾驶汽车检测路上的物体,到通过复杂的面部及身体语言识别发现可能的犯罪活动。 多年来,研究人员一直在探索让机器通过视觉识别物体的可能性。
这一特殊领域被称为计算机视觉 (Computer Vision, CV),在现代生活中有着广泛的应用。
目标检测 (ObjectDetection) 也是计算机视觉最酷的应用之一,这是不容置疑的事实。
现在的CV工具能够轻松地将目标检测应用于图片甚至是直播视频。 本文将简单地展示如何用TensorFlow创建实时目标检测器。
建立一个简单的目标检测器
设置要求:
TensorFlow版本在1.15.0或以上
执行pip install TensorFlow安装最新版本
一切就绪,现在开始吧!
设置环境
第一步: 从Github上下载或复制TensorFlow目标检测的代码到本地计算机
在终端运行如下命令:
<span>git clonehttps:<span>//github.com/tensorflow/models.git</span></span>
第二步: 安装依赖项
下一步是确定计算机上配备了运行目标检测器所需的库和组件。
下面列举了本项目所依赖的库。 (大部分依赖都是TensorFlow自带的)
· Cython
· contextlib2
· pillow
· lxml
· matplotlib
若有遗漏的组件,在运行环境中执行pip install即可。
第三步: 安装Protobuf编译器
谷歌的Protobuf,又称Protocol buffers,是一种语言无关、平台无关、可扩展的序列化结构数据的机制。 Protobuf帮助程序员定义数据结构,轻松地在各种数据流中使用各种语言进行编写和读取结构数据。
Protobuf也是本项目的依赖之一。 点击 这里 了解更多关于Protobufs的知识。 接下来把Protobuf安装到计算机上。
打开终端或者打开命令提示符,将地址改为复制的代码仓库,在终端执行如下命令:
cd models/research
wget -Oprotobuf.zip https://github.com/protocolbuffers/protobuf/releases/download/v3.9.1/protoc-3.9.1-osx-x86_64.zip
unzipprotobuf.zip
注意: 请务必在models/research目录解压protobuf.zip文件。
来源:Pexels
第四步: 编辑Protobuf编译器
从research/ directory目录中执行如下命令编辑Protobuf编译器:
<span>./bin/protoc object_detection/protos/*.proto--python_out=.</span>
用Python