# 2019广东工业智造创新大赛【赛场一】季军解决方案 全套代码
队伍:**天池水也太深了**
## 比赛地址:[2019广东工业智造创新大赛 布匹疵点检测](https://tianchi.aliyun.com/competition/entrance/231748/introduction?spm=5176.12281957.1004.9.38b02448pYKHIm)
## NEW !!!
感谢大家的关注,由于近期很多同学需要数据学习使用,经过和天池的沟通,可以将数据共享给大家学习使用
数据下载地址:
[百度网盘](https://pan.baidu.com/s/1DT8vlFELrjfgczGBZ1yEzQ) (密码:jp7d)
## TIPS:
因为官方给的原始数据压缩包大于4gb,我这里对每一个包进行了分卷压缩,大家注意分卷解压缩使用
## core slides:
![Aaron Swartz](https://github.com/zhengye1995/Tianchi-2019-Guangdong-Intelligent-identification-of-cloth-defects-rank5/raw/master/temp_img/%E5%9B%BE%E7%89%871.png)
![Aaron Swartz](https://github.com/zhengye1995/Tianchi-2019-Guangdong-Intelligent-identification-of-cloth-defects-rank5/raw/master/temp_img/%E5%9B%BE%E7%89%872.png)
![Aaron Swartz](https://github.com/zhengye1995/Tianchi-2019-Guangdong-Intelligent-identification-of-cloth-defects-rank5/raw/master/temp_img/%E5%9B%BE%E7%89%873.png)
![Aaron Swartz](https://github.com/zhengye1995/Tianchi-2019-Guangdong-Intelligent-identification-of-cloth-defects-rank5/raw/master/temp_img/%E5%9B%BE%E7%89%874.png)
![Aaron Swartz](https://github.com/zhengye1995/Tianchi-2019-Guangdong-Intelligent-identification-of-cloth-defects-rank5/raw/master/temp_img/%E5%9B%BE%E7%89%875.png)
![Aaron Swartz](https://github.com/zhengye1995/Tianchi-2019-Guangdong-Intelligent-identification-of-cloth-defects-rank5/raw/master/temp_img/%E5%9B%BE%E7%89%876.png)
## 算法流程&方案介绍 CFRCNN--变化检测思路
+ 输入图片预处理
- 将代检测图片和模板图片沿通道方向合并, 变为h*w*6的矩阵
- 归一化
- resize padding等常规操作
+ 经过CFRCNN模型
- 基本框架:Cascade-RCNN
- 输入改变为6个通道的conv, 同时输入待检测图像和对应模板进行变化检测
- backbone: resnet50
- cascade 三个head 根据比赛map计算iou进行对应调整
- 为了解决其中三类面积过大的问题, 额外训练一个小尺度大感受野的专家模型
- 采用fp16加速训练和增大输入面积来缓解部分小目标问题
+ 后处理
- NMS
- 最大score二类后处理, 根据单个图片bbox最高score来对图像进行二次过滤, 判断该图像是否是正常样本
### 创新性
+ 变化检测
- 根据赛题任务, 采用变化检测思路处理检测任务
- 调整输入层为样本和模板同时输入 让模型学到目标和模板之间的变化差异, 使模型在切换模板后依然有良好泛化能力
+ 专家模型解决感受野不足问题
- 为了降低模型复杂度, 没有采用大感受野复杂模型或者增加大anchor, 而是以resnet50为backbone
- resnet50感受野不足, 并且原始anchor大小不足,导致缝头、缝头印和色差等面积很大的类漏检
- 训练一个400尺度的大感受野专家模型
- 去掉面积过小的目标, 保证梯度稳定
+ cascade iou阈值适应赛题map要求
- cascade 每个head的预测bbox结果在其对应iou阈值的AP上效果最好
- 根据比赛0.1 0.3 0.5的iou要求, 将cas三个head的iou阈值调整为0.4 0.5 0.6(可能 0.3 0.4 0.5效果更佳,未能尝试)
- 同时rcnn 正负样例放松overlap要求放松为 0.6 0.2
+ 最大score二类后处理
- 为了保持map的同时保证acc, 依据单个样本最高score的bbox置信度大小进行二次过滤分出正常图像
## 代码环境及依赖
+ OS: Ubuntu16.10
+ GPU: 2080Ti * 4
+ python: python3.7
+ nvidia 依赖:
- cuda: 10.0.130
- cudnn: 7.5.1
- nvidia driver version: 430.14
+ deeplearning 框架: pytorch1.1.0
+ 其他依赖请参考requirement.txt
## 训练数据准备(后面训练部分会有阐述如何一次性运行,这里只阐述过程)
- **相应文件夹创建准备**
- 在data目录中创建fabric文件夹
- 进入fabric文件夹,创建以下文件夹:
annotations
Annotations
defect_Images
template_Images
- **训练数据路径移动**
- 将 guangdong1_round2_train_part1_20190924,
guangdong1_round2_train_part2_20190924,
guangdong1_round2_train_part3_20190924和
guangdong1_round2_train2_20191004_images中
defect目录中的所有文件夹下的非模板图片复制到 data/fabric/defect_Images 目录下
- 将 guangdong1_round2_train_part1_20190924,
guangdong1_round2_train_part2_20190924,
guangdong1_round2_train_part3_20190924和guangdong1_round2_train2_20191004_images中
defect目录中的所有文件夹复制到 data/fabric/template_Images 目录下
- **label文件合并及格式转换**
- 将round2中两个轮次的label文件合并到 anno_train_round2.json中,然后移动到data/fabric/Annotations 目录下
- 将刚才的label文件转换为COCO格式,新的label文件 instances_train_20191004_mmd.json 和
instances_train_20191004_mmd_100.json会保存在 data/fabric/annotations 目录下
- **预训练模型下载**
- 使用mmdetection官方开源的casacde-rcnn-r50-fpn-2x的COCO预训练模型
- 下载预训练模型后进行转换变为支持CFRCNN模型的预训练模型
## 依赖安装及编译
- **依赖安装编译**
1. 创建并激活虚拟环境
conda create -n guangdong python=3.7 -y
conda activate guangdong
2. 安装 pytorch
conda install pytorch=1.1.0 torchvision=0.3.0 cudatoolkit=10.0 -c pytorch
3. 安装其他依赖
pip install cython && pip --no-cache-dir install -r requirements.txt
4. 编译cuda op等:
python setup.py develop
## 模型训练及预测
- **训练**
1. **运行:**
cd train & ./train.sh
2. 训练过程文件及最终权重文件均保存在data目录中
- **预测**
1. 线上docker已经提交过预测全部内容,这里依然认为测试数据挂载在/tcdata
2. **运行:**
./run.sh
## Contact
author:rill
email:18813124313@163.com
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
<项目介绍> 广东工业智造创新大赛季军-布匹疵点检测python源码+文档说明+数据 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
广东工业智造创新大赛季军-布匹疵点检测python源码+文档说明+数据 (221个子文件)
deform_conv_cuda.cpp 29KB
deform_pool_cuda.cpp 4KB
roi_align_cuda.cpp 3KB
roi_pool_cuda.cpp 3KB
masked_conv2d_cuda.cpp 3KB
nms_cpu.cpp 2KB
sigmoid_focal_loss.cpp 2KB
nms_cuda.cpp 575B
deform_conv_cuda_kernel.cu 41KB
deform_pool_cuda_kernel.cu 16KB
roi_align_kernel.cu 11KB
roi_pool_kernel.cu 6KB
sigmoid_focal_loss_cuda.cu 6KB
nms_kernel.cu 5KB
masked_conv2d_kernel.cu 5KB
README.md 6KB
图片5.png 5.4MB
图片4.png 4.32MB
图片1.png 4.27MB
图片2.png 3.86MB
图片3.png 3.61MB
图片6.png 2.76MB
transforms.py 31KB
reppoints_head.py 27KB
guided_anchor_head.py 25KB
htc.py 24KB
cascade_rcnn.py 23KB
hrnet.py 19KB
resnet.py 18KB
test_robustness.py 17KB
fcos_head.py 16KB
fovea_head.py 16KB
mean_ap.py 15KB
grid_head.py 15KB
generalized_attention.py 15KB
flops_counter.py 14KB
anchor_head.py 14KB
deform_conv.py 12KB
two_stage.py 12KB
guided_anchor_target.py 12KB
deform_pool.py 10KB
grid_rcnn.py 9KB
bbox_head.py 9KB
train.py 9KB
mask_scoring_rcnn.py 8KB
resnext.py 8KB
cascade_rcnn_r50_fpn_70e.py 8KB
cascade_rcnn_r50_fpn_400.py 8KB
test.py 8KB
transforms.py 8KB
ssd_head.py 8KB
double_head_rcnn.py 7KB
maskiou_head.py 7KB
anchor_target.py 7KB
test_mixins.py 7KB
fcn_mask_head.py 7KB
convfc_bbox_head.py 7KB
coco_error_analysis.py 7KB
max_iou_assigner.py 6KB
setup.py 6KB
coco_utils.py 6KB
point_target.py 6KB
eval_hooks.py 6KB
decorators.py 6KB
ghm_loss.py 6KB
formating.py 6KB
inference.py 6KB
recall.py 6KB
iou_balanced_neg_sampler.py 6KB
sampler.py 6KB
conv_module.py 6KB
class_names.py 5KB
ssd_vgg.py 5KB
fpn.py 5KB
double_bbox_head.py 5KB
base.py 5KB
point_assigner.py 5KB
custom.py 5KB
loading.py 5KB
ga_rpn_head.py 5KB
approx_max_iou_assigner.py 5KB
merger_json2.py 5KB
guangdong_round2_100.py 5KB
guangdong_round2_100.py 5KB
guangdong_round2.py 5KB
guangdong_round2.py 5KB
hooks.py 4KB
iou_loss.py 4KB
coco.py 4KB
rpn_head.py 4KB
single_level.py 4KB
context_block.py 4KB
ga_retina_head.py 4KB
non_local.py 4KB
retina_head.py 4KB
bfp.py 4KB
merge_augs.py 3KB
fused_semantic_head.py 3KB
anchor_generator.py 3KB
rpn.py 3KB
共 221 条
- 1
- 2
- 3
资源评论
.Android安卓科研室.
- 粉丝: 4279
- 资源: 2381
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C#OA+HR+CRM源码 综合办公管理系统源码数据库 SQL2008源码类型 WebForm
- (源码)基于Python的火车票管理系统.zip
- springboot中删除数据时,数据库中的表关联了其他表,怎么删除?
- (源码)基于Spring Boot的博客系统.zip
- (源码)基于Java的招聘网站职位数据分析系统.zip
- (源码)基于Spring Boot和Quartz的火车票务管理系统.zip
- (源码)基于C#的RFID门禁控制系统.zip
- 实验二 枚举与分治.docx
- (源码)基于OpenCV和mediapipe的无人机肢体学模拟教学系统.zip
- web_1731508854623.png
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功