首先贴上代码原作者的github:https://github.com/chenyuntc/simple-faster-rcnn-pytorch(非代码作者,博文只解释代码)

今天看完了simple-faster-rcnn-pytorch-master代码的最后一个train.py文件,是时候认真的总结一下了,我打算一共总结四篇博客用来详细的分析Faster-RCNN的代码的pytorch实现, 四篇博客的内容及目录结构如下:

1 Faster-RCNN的数据读取及预处理部分:(对应于代码的/simple-faster-rcnn-pytorch-master/data文件夹):https://www.cnblogs.com/kerwins-AC/p/9734381.html 

2 Faster-RCNN的模型准备部分:(对应于代码目录/simple-faster-rcnn-pytorch-master/model/utils/文件夹):https://www.cnblogs.com/kerwins-AC/p/9752679.html

3 Faster-RCNN的模型正式介绍:(对应于代码目录/simple-faster-rcnn-pytorch-master/model/文件夹):         尚未完成

4 Faster-RCNN的训练代码部分:(对应于代码目录/simple-faster-rcnn-pytorch-master/train.py,trainer.py代码):https://www.cnblogs.com/kerwins-AC/p/9728731.html

 本篇博客主要介绍代码的数据预处理部分的内容,对应于以下几个文件:

目标检测之Faster-RCNN的pytorch代码详解(数据预处理篇)

 首先是dataset.py文件,我们用函数流程图看一下它的结构:

目标检测之Faster-RCNN的pytorch代码详解(数据预处理篇)

 然后老规矩一个函数一个函数的分析它的内容和功能!

1 def inverse_normalize(img)函数代码如下:

1 def inverse_normalize(img):
2     if opt.caffe_pretrain:
3         img = img + (np.array([122.7717, 115.9465, 102.9801]).reshape(3, 1, 1))
4         return img[::-1, :, :]
5     # approximate un-normalize for visualize
6     return (img * 0.225 + 0.45).clip(min=0, max=1) * 255

inverse_normalize()