資源簡介
基于TensorFlow的Faster R-CNN源碼
目錄結構
----data
----experiments
----faster_rcnn
----libs

代碼片段和文件信息
import?torch?as?t
from?.voc_dataset?import?VOCBboxDataset
from?skimage?import?transform?as?sktsf
from?torchvision?import?transforms?as?tvtsf
from?.?import?util
import?numpy?as?np
from?utils.config?import?opt
def?inverse_normalize(img):
????if?opt.caffe_pretrain:
????????img?=?img?+?(np.array([122.7717?115.9465?102.9801]).reshape(3?1?1))
????????return?img[::-1?:?:]
????#?approximate?un-normalize?for?visualize
????return?(img?*?0.225?+?0.45).clip(min=0?max=1)?*?255
def?pytorch_normalze(img):
????“““
????https://github.com/pytorch/vision/issues/223
????return?appr?-1~1?RGB
????“““
????normalize?=?tvtsf.Normalize(mean=[0.485?0.456?0.406]
????????????????????????????????std=[0.229?0.224?0.225])
????img?=?normalize(t.from_numpy(img))
????return?img.numpy()
def?caffe_normalize(img):
????“““
????return?appr?-125-125?BGR
????“““
????img?=?img[[2?1?0]?:?:]??#?RGB-BGR
????img?=?img?*?255
????mean?=?np.array([122.7717?115.9465?102.9801]).reshape(3?1?1)
????img?=?(img?-?mean).astype(np.float32?copy=True)
????return?img
def?preprocess(img?min_size=600?max_size=1000):
????“““Preprocess?an?image?for?feature?extraction.
????The?length?of?the?shorter?edge?is?scaled?to?:obj:‘self.min_size‘.
????After?the?scaling?if?the?length?of?the?longer?edge?is?longer?than
????:param?min_size:
????:obj:‘self.max_size‘?the?image?is?scaled?to?fit?the?longer?edge
????to?:obj:‘self.max_size‘.
????After?resizing?the?image?the?image?is?subtracted?by?a?mean?image?value
????:obj:‘self.mean‘.
????Args:
????????img?(~numpy.ndarray):?An?image.?This?is?in?CHW?and?RGB?format.
????????????The?range?of?its?value?is?:math:‘[0?255]‘.
?????????(~numpy.ndarray):?An?image.?This?is?in?CHW?and?RGB?format.
????????????The?range?of?its?value?is?:math:‘[0?255]‘.
????Returns:
????????~numpy.ndarray:
????????A?preprocessed?image.
????“““
????C?H?W?=?img.shape
????scale1?=?min_size?/?min(H?W)
????scale2?=?max_size?/?max(H?W)
????scale?=?min(scale1?scale2)
????img?=?img?/?255.
????img?=?sktsf.resize(img?(C?H?*?scale?W?*?scale)?mode=‘reflect‘)
????#?both?the?longer?and?shorter?should?be?less?than
????#?max_size?and?min_size
????if?opt.caffe_pretrain:
????????normalize?=?caffe_normalize
????else:
????????normalize?=?pytorch_normalze
????return?normalize(img)
class?Transform(object):
????def?__init__(self?min_size=600?max_size=1000):
????????self.min_size?=?min_size
????????self.max_size?=?max_size
????def?__call__(self?in_data):
????????img?bbox?label?=?in_data
????????_?H?W?=?img.shape
????????img?=?preprocess(img?self.min_size?self.max_size)
????????_?o_H?o_W?=?img.shape
????????scale?=?o_H?/?H
????????bbox?=?util.resize_bbox(bbox?(H?W)?(o_H?o_W))
????????#?horizontally?flip
????????img?params?=?util.random_flip(
????????????img?x_random=True?return_param=True)
????????bbox?=?util.flip_bbox(
????????????bbox?(o_H?o_W)?x_flip=params[‘x_flip‘])
????????return?img?bbox?label?scale
class?Dataset:
????def?__init__(self?opt):
????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-01-24?07:26??Faster-RCNN-Pytorch-master\
?????文件??????202434??2018-01-24?07:26??Faster-RCNN-Pytorch-master\Small_Test.ipynb
?????文件???????20001??2018-01-24?07:26??Faster-RCNN-Pytorch-master\Train.ipynb
?????目錄???????????0??2018-01-24?07:26??Faster-RCNN-Pytorch-master\data\
?????文件???????????0??2018-01-24?07:26??Faster-RCNN-Pytorch-master\data\__init__.py
?????文件????????3998??2018-01-24?07:26??Faster-RCNN-Pytorch-master\data\dataset.py
?????文件????????9720??2018-01-24?07:26??Faster-RCNN-Pytorch-master\data\util.py
?????文件????????5592??2018-01-24?07:26??Faster-RCNN-Pytorch-master\data\voc_dataset.py
?????文件??????123072??2018-01-24?07:26??Faster-RCNN-Pytorch-master\demo.jpg
?????目錄???????????0??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\
?????文件???????????0??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\__init__.py
?????文件????????8055??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\faster_rcnn.py
?????文件???????13588??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\roi_module.py
?????文件????????5899??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\rpn.py
?????目錄???????????0??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\
?????文件???????????0??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\__init__.py
?????目錄???????????0??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\__pycache__\
?????文件?????????152??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\__pycache__\__init__.cpython-36.pyc
?????文件????????6481??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\__pycache__\bbox_tools.cpython-36.pyc
?????文件????????4698??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\__pycache__\roi_sample.cpython-36.pyc
?????文件????????4569??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\__pycache__\rpn_gt_loc_label.cpython-36.pyc
?????文件????????6516??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\bbox_tools.py
?????目錄???????????0??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\nms\
?????文件??????????75??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\nms\__init__.py
?????目錄???????????0??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\nms\__pycache__\
?????文件?????????250??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\nms\__pycache__\__init__.cpython-36.pyc
?????文件????????6361??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\nms\__pycache__\non_maximum_suppression.cpython-36.pyc
?????文件??????303174??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\nms\_nms_gpu_post.c
?????文件??????175576??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\nms\_nms_gpu_post.cpython-36m-x86_64-linux-gnu.so
?????文件?????????970??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\nms\_nms_gpu_post.pyx
?????文件?????????720??2018-01-24?07:26??Faster-RCNN-Pytorch-master\model\utils\nms\_nms_gpu_post_py.py
............此處省略31個文件信息
評論
共有 條評論