Skip to content

Kexin-Tang/DCNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Context-aware & Cascade-refinement Network (DCNet)

本文是DCNet食用手册,将会详细介绍如何使用DCNet,并介绍如何定制"个性化"DCNet :P


文件简介

路径 文件名 作用
./data PIOD 训练/测试数据集
./detect_occ run.sh 训练/测试脚本
train.py 训练模型
test.py 使用模型对图片进行处理得到结果
./detect_occ/utils compute_loss.py Loss Function
custom_transforms.py 对输入图进行Transform
./models 网络名称.py 对应网络的结构定义
./lib/dateset occ_dataset.py PyTorch Dataset和Dataloader重写
./experiments 网络名称 对应网络执行得到的结果图片
./experiments/output 网络名称 对应网络训练得到的模型
./experiments/configs train.yaml 训练时的config
test.yaml 测试时的config

初始化方法

初始化方法参考了DOOBNet的方法

需要下载PASCAL VOC 2010Annotations. 解压后将JPEGImages移动到PIOD文件夹。最终的文件夹目录如下:

PIOD
|_ Data
|  |_ <id-1>.mat
|  |_ ...
|  |_ <id-n>.mat
|_ JPEGImages 
|  |_ <id-1>.jpg
|  |_ ...
|  |_ <id-n>.jpg
|_ val_doc_2010.txt

然后调用mat2hdf5_edge_ori.py生成标注

mkdir  PIOD/Augmentation

python mat2hdf5_edge_ori.py \
--dataset PIOD \
--label-dir PIOD/Data \
--img-dir PIOD/JPEGImages \
--piod-val-list-file PIOD/val_doc_2010.txt \
--output-dir PIOD/Augmentation

训练方法

  1. 更改./experiments/configs/train.yaml中对应的数据集path,网络arch名称,迭代次数,学习率等
  2. 更改./detect_occ/run.sh中的注释行
  3. ./detect_occ路径下运行
sh run.sh

测试方法

  1. 更改./experiments/configs/test.yaml中对应的网络arch名称等
  2. 更改./detect_occ/run.sh中的注释行

注:此处需要注意,在test.py中如果使用myDataset时,每次读入一张img,需要在run.sh中设置--img;如果使用PIODDataset则不需要使用--img。详细代码见./lib/dataset/occ_dataset.py

  1. ./detect_occ路径下运行
sh run.sh

DIY方法

  1. 需要修改./lib/dataset/occ_dataset中数据的路径,list_file及读取方式(即是否包括.type,包含[:,-4]+'.jpg'两处)

  2. 需要修改./experiments/configs/train(test).yaml中的train_image_setval_image_setarch(网络的名字)

  3. 如果要使用新的pth,需要修改./detect_occ/run.sh中的路径

  4. 如果在'./models/'中定义了新的network,需要同时更改./models/__init__.py

About

Context-aware & Cascade-refinement Network

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages