项目地址 https://github.com/ShuLiu1993/PANet
介绍
该存储库适用于CVPR 2018 Spotlight论文,“ 用于实例细分的路径聚合网络 ”,其中2017年COCO实例细分挑战赛排名第一,2017年COCO检测挑战赛第二名(团队名称:UCenter)和2018年场景理解第一名非结构化环境中自主导航的挑战(团队名称:TUTU)。
结构主要基于Detectron 使用Pytorch写的
需要的环境:
python packages
- pytorch=0.4[注意这里]
- torchvision>=0.2.0
- cython
- matplotlib
- numpy
- scipy
- opencv
- pyyaml
- packaging
- pycocotools — for COCO dataset, also available from pip.
- tensorboardX — for logging the losses in Tensorboard
其中pycocotools的安装方法参见我的其他博客
在确保你的CUDA CUDNN PYTORCH 还有 上述的包之后
cd lib
sh make.sh
我忘了要不要setup.py了 应该是不用 编译了就OK
DEMO
-------------单张推断 Demo
python tools/infer_simple.py --dataset coco2017 --cfg configs/panet/e2e_panet_R-50-FPN_2x_mask.yaml --load_ckpt /media/yang/56c81da5-109b-42e1-9e51-0f9e1396fa9d/yang/PANet-master/data/pretrained_model/panet_mask_step179999.pth --images /media/yang/56c81da5-109b-42e1-9e51-0f9e1396fa9d/yang/PANet-master/demo/33823288584_1d21cf0a26_k.jpg --output_dir /media/yang/56c81da5-109b-42e1-9e51-0f9e1396fa9d/yang/PANet-master/
-------------批量推断 Demo
python tools/infer_simple.py --dataset coco2017 --cfg configs/panet/e2e_panet_R-50-FPN_2x_mask.yaml --load_ckpt /media/yang/56c81da5-109b-42e1-9e51-0f9e1396fa9d/yang/PANet-master/data/pretrained_model/panet_mask_step179999.pth --image_dir /media/yang/56c81da5-109b-42e1-9e51-0f9e1396fa9d/yang/PANet-master/demo/sample_images/ --output_dir /media/yang/56c81da5-109b-42e1-9e51-0f9e1396fa9d/yang/PANet-master/
其中权重下载地址为https://drive.google.com/file/d/1-pVZQ3GR6Aj7KJzH9nWoRQ-Lts8IcdMS/view?usp=sharing
准备数据集
我用的Coco-Annotator标记的 关于这个标注工具的用法后面会说
格式和coco2014做到一致就行
文件结构我用的
.
├── coco-annotations
│ ├── captions_train2014.json
│ ├── captions_val2014.json
│ ├── instances_minival2014.json
│ ├── instances_train2014.json
│ ├── instances_val2014.json
│ ├── instances_val2017.json
├── configs
│ ├── baselines
│ │ ├── e2e_faster_rcnn_R-101-FPN_1x.yaml
│ │ ├── e2e_faster_rcnn_R-101-FPN_2x.yaml
...
│ ├── getting_started
│ │ ├── tutorial_1gpu_e2e_faster_rcnn_R-50-FPN.yaml
│ │ ├── tutorial_2gpu_e2e_faster_rcnn_R-50-FPN.yaml
│ │ ├── tutorial_4gpu_e2e_faster_rcnn_R-50-FPN.yaml
│ │ └── tutorial_8gpu_e2e_faster_rcnn_R-50-FPN.yaml
│ ├── gn_baselines
│ │ ├── e2e_mask_rcnn_R-101-FPN_2x_gn.yaml
...
│ └── panet
│ ├── e2e_panet_R-50-FPN_1x_det_2fc.yaml
│ ├── e2e_panet_R-50-FPN_1x_det.yaml
│ └── e2e_panet_R-50-FPN_2x_mask.yaml
├── data
│ ├── cache
│ │ └── coco_2014_train_gt_roidb.pkl
│ ├── coco
│ │ ├── annotations
│ │ │ ├── instances_train2014.json
│ │ │ └── instances_val2014.json
│ │ └── images
│ │ ├── train2014
│ │ │ ├── 1000.jpg
│ │ │ ├── 1001.jpg
│ │ │ ├── 1002.jpg
│ └── pretrained_model
│ ├── panet_mask_step179999.pth
│ ├── resnet101_caffe.pth
│ └── resnet50_caffe.pth
├── demo
│ ├── 33823288584_1d21cf0a26_k-detectron-R101-FPN.jpg
│ ├── convert_pdf2img.sh
│ ├── e2e_mask_rcnn_R-50-C4
│ │ └── train_from_scratch_epoch1_bs4
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ │ ├── img3.jpg
│ │ └── img4.jpg
│ ├── img1_keypoints-detectron-R50-FPN.jpg
...
│ ├── sample_images
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ │&nb