前言:
如下图所示,根据自己制定的“Deep Learning”学习计划,11月份的主要任务是:熟悉各大DL网络模型,主要以分类和检测为主;看论文;熟悉病理数据等。我们有一个2人组的小分队,我这个月的主要工作集中在学习目标检测的经典算法以及基于tensorflow或者keras跑一些经典的案例,主要有R-CNN,SPP-Net,Fast-RCNN,Faster-RCNN,YOLO等;另一名成员主要学习分类相关的经典网络模型,主要是google-net一系列的模型(inception-v1,inception-v2,inception-v3,resnet 等)。我们分别要整理出一份关于检测和分类的详细报告,然后不断完善、互相交流讨论、分享,发挥小分队的优势。
本文不打算介绍理论知识,网上有很多整理好的资源,如果后续有更深刻的理解,再另写博文整理。本文主要整理了Faster-RCNN的实践,使用了resnet网络参数做与训练、KITTI数据集做 fine-tuning。最近在 github 上找到一位乐于开源的大佬,这个大佬主要也是使用tensorflow和keras框架实现一些深度学习的案例。其中,本文的Faster-RCNN实践也是基于这位大佬开源的源码进行整理和归纳。本文的目的是,有需要的读者看到这篇博文,然后跟着做就能够把代码跑通,感受一下Faster-RCNN的魅力所在。如果读者在实践的过程中遇到任何问题,欢迎留言,我也会尽力跟大家一起解决问题。
本文假设实践的读者们已经搭好了 tensorflow 和 keras 框架。如果没有的话,可以参考如下几篇博文:
1)http://blog.youkuaiyun.com/houchaoqun_xmu/article/details/72461592
2)http://blog.youkuaiyun.com/houchaoqun_xmu/article/details/78508783
建议读者们使用 python3,tensorflow(>1.1),keras(2.0.9) 等环境,实践本文提供的Faster-RCNN案例。
Reference:
github 源码地址:https://github.com/Houchaoqun/keras_frcnn
TFFRCNN:https://github.com/CharlesShang/TFFRCNN
KITTI Datasets:http://www.cvlibs.net/datasets/kitti/index.php
h5 - 模型参数(inception-v3,resnet50,VGG16,VGG19):http://pan.baidu.com/s/1dET5J7z 密码:hdp9
"Can't open attribute (can't locate attribute: 'layer_names')":http://blog.youkuaiyun.com/dugudaibo/article/details/78008918
深度学习与计算机视觉 看这一篇就够了:http://blog.youkuaiyun.com/u012507022/article/details/51441629
前期准备工作:
1)下载 github 源码:
git clone https://github.com/Houchaoqun/keras_frcnn
2)下载 KITTI 数据集:
- 训练数据标签:http://kitti.is.tue.mpg.de/kitti/data_object_label_2.zip
- 训练数据图像:http://kitti.is.tue.mpg.de/kitti/data_object_image_2.zip
3)下载模型参数并存放到如下路径(需新建 model 文件夹),本文使用的是 resnet50 模型的参数:
./model/resnet50_weights_tf_dim_ordering_tf_kernels.h5 # 上文有提供一些模型参数的下载地址
4)根据源码,创建存放数据的文件夹(注意区分大小写):
./media/jintian/Netac/Datasets/Kitti/object/training/image_2
./media/jintian/Netac/Datasets/Kitti/object/training/label_2
5)将下载好的KITTI数据图像和标签分别存放在对应的路径下(根据源码而定),本文的路径示例如下所示: