0. 前言
- 之前学习了 balancap/SSD-Tensorflow。
- 我的笔记:SSD-TensorFlow 源码解析
- 这个项目的源码相对容易,对物体检测初学者非常友好,学习完了之后对SSD的基本流程都有了较为详细的了解。
- 但若想将该项目用于今后实践,可能不太合适。
- 只有SSD算法,没有Faster-RCNN系的算法实现。
- 该repo已经不再更新,且提供的pre-trained model非常有限。
- 最终选择 tensorflow/models/research/object_detection/ (之后可能会看看 facebookresearch/Detectron)
- 非常完善,有大量R-CNN和SSD的Pre-treained model提供。
- 代码模块化很好,如果要二次开发也非常方便。
- 个人感想:
- 这个坑挖得有点大……希望早日填完……
1. 计划
1.1. 已完成
- TensorFlow Object Detection API 源码(1) DetectionModel
- TensorFlow Object Detection API 源码(2) 组件介绍
- TensorFlow Object Detection API 源码(3) builders
- TensorFlow Object Detection API 源码(4) 数据集
1.2. TODO
- 各种组件介绍
2. 参考资料
2.1. 官方文档简介
- 在 models/research/object_detection/g3doc/ 中有很多官方文档可以学习。
- Configuring the Object Detection Training Pipeline:总体介绍了一下配置文件。
- 其实开始我根本没看懂,直到在这里找到了很多配置文件的sample。
- Defining your own model:介绍了模型的总体结构。
- Tensorflow detection model zoo:各种pre-trained model。
- Supported object detection evaluation protocols:预测metric选择,配置文件中的一个选项。
- 可以参考 evaluator.py 中的
EVAL_METRICS_CLASS_DICT
以及对应的具体实现。 - Exporting a trained model for inference:将训练时保存的模型转换格式,方便后续使用。
- FAQ:常见问题解答。
- Installation:安装所需环境。
- Run an Instance Segmentation Model:执行Instance Segmentation任务。
- Inference and evaluation on the Open Images dataset:在 Open Images Dataset 中验证模型、输出结果。
- Preparing Inputs:构建数据集。
- Running Locally:本地训练、预测模型。
- Quick Start: Jupyter notebook for off-the-shelf inference:有点囧,应该是给“新新新手”的吧。
- Running on Google Cloud Platform:给 google cloud 打广告。
- Quick Start: Distributed Training on the Oxford-IIIT Pets Dataset on Google Cloud:分布式训练的样例。
- Preparing Inputs:创建自己的数据集。
2.2. 其他参考资料
- 知乎讨论:谷歌开放的TensorFlow Object Detection API 效果如何?对业界有什么影响?
- 看完各位大佬的回答瑟瑟发抖,果然还有很长的路要走。
- CSDN:Wayne2019的博客
- Tensorflow object detection API 源码阅读笔记:架构
- Tensorflow object detection API 源码阅读笔记:基本类(1)
- Tensorflow object detection API 源码阅读笔记:Fast r-cnn
- Tensorflow object detection API 源码阅读笔记:RFCN
- Tensorflow object detection API 源码阅读笔记:Mask R-CNN
- CSDN:王某的博客