TensorFlow目标检测入门

TensorFlow提供了一套Object Detection的API,借助这些API我们可以快速地完成Object Detection的模型。

虽然在知乎上看到一些大神说TensorFlow开源的这些Object Detection API在实际的运用中其实恨少用,但是这些API降低了初学者的门槛,是很好的学习资料。

安装依赖软件

TensorFlow目标检测API依赖于下列库:

  • Protobuf 2.6
  • Pillow 1.0
  • lxml
  • tf Slim(该库包含在文件夹”models/research/“下面)
  • Jupyter Notebook
  • Matplotlib
  • Tensorflow

先使用如下命令安装部分库:

1
2
3
4
5
sudo apt-get install protobuf-compiler
pip install pillow
pip install lxml
pip install jupyter
pip install matplotlib

注意,如果你的tensorflow是安装在系统目录的话,使用pip安装时请加上 sudo

编译Protobuf

TensorFLow的目标检测API会使用Protobufs来配置模型参数和训练参数,因此必须先编译Protobuf库。从models/research/目录下执行如下命令即可完成编译:

1
2
# From models/research/
protoc object_detection/protos/*.proto --python_out=.

添加slim库到PYTHONPATH

当在本地运行时,必须将models/research/目录和slim目录追加到python的环境变了PYTHONPATH中。从models/research/目录下执行如下命令即可:

1
2
# From models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

注意,在每次重新开启终端的时候,都需要手动执行这条命令。如果不想手动执行,可以将其添加到系统的~/.bashrc文件中,但是要把pwd换成绝对路径。

对安装进行测试

models/research下执行如下命令,如果最后显示’OK’,说明安装成功。

1
python object_detection/builders/model_builder_test.py

运行目标检测的Demo

使用自己的图片进行预测