Image Cascade Network (ICNet)
Image Cascade Network(ICNet)主要用于图像实时语义分割。相较于其他压缩算法的方法,ICNet即考虑了速度,也考虑了准确性。ICNet的主要思想是将输入图像变换为不同的分辨率,然后用不同计算复杂度的子网络计算不同分辨率的输入,然后将结果合并。ICNet由三个子网络组成,计算复杂度高的网络处理低分辨率输入,计算复杂度低的网络处理分辨率高的网络,通过这种方式在高分辨率图像的准确性和低复杂网络的效率之间获得平衡。
整个网络结构如下:
文件结构:
#解压数据文件
! tar xf data/data9270/iccv09Data.tar -C data
数据格式:
#图像预处理,生成train_list.txt和eval_list.txt
! cd work/ && python DataPartition.py
#下载预训练的ICNet模型,并保存在pretrained model 目录下
! wget https://paddle-icnet-models.bj.bcebos.com/model_1000.tar.gz
! mkdir pretrained\model
!tar xzf model_1000.tar.gz -C pretrained\model
! rm model_1000.tar.gz
--2020-05-10 09:25:20-- https://paddle-icnet-models.bj.bcebos.com/model_1000.tar.gz Resolving paddle-icnet-models.bj.bcebos.com (paddle-icnet-models.bj.bcebos.com)... 182.61.200.195, 182.61.200.229 Connecting to paddle-icnet-models.bj.bcebos.com (paddle-icnet-models.bj.bcebos.com)|182.61.200.195|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 25005084 (24M) [application/x-gzip] Saving to: ‘model_1000.tar.gz’ model_1000.tar.gz 100%[===================>] 23.85M 42.4MB/s in 0.6s 2020-05-10 09:25:20 (42.4 MB/s) - ‘model_1000.tar.gz’ saved [25005084/25005084] mkdir: cannot create directory ‘pretrained model’: File exists
#模型训练,训练中具有需要用的超参数可以在config.py脚本中进行修改,这里为了展示方便
#加载了paddle model zoo提供的预训练参数,并且值训练了一个epoch
! python train.py
2020-03-31 15:24:31,687-INFO: train params:{'data_dir': 'data/iccv09Data/', 'batch_size': 10, 'use_gpu': False, 'train_model_dir': 'train model', 'infer_model_dir': 'infer model', 'pretrained_model_dir': 'pretrained model/model_1000', 'eval_file_path': 'data/eval_list.txt', 'continue_train': True, 'paddle_flag': True, 'num_classes': 8, 'weight_decay': 4e-05, 'base_lr': 0.001, 'num_epochs': 1, 'total_step':