# 天池&ICDAR2023 篡改图像检测比赛方案
## 赛道1:分类
队伍名称:严重摆烂
初赛分数:83.23 rank:30/1267
复赛分数:80.55 rank:13/1267
### 方案设计
将图片resize成512/768,使用efficient-net-b6作为backbone进行分类,后面加了两个线性层用于分类,训练10个epoch左右,(挑选验证集上最好的模型)
- 512:线上提交:81.92
- 768:线上提交:81.89
-
两个模型的预测结果进行融合:83.23(初赛)
### 小结
赛道一真的是严重摆烂,互联网寒气逼人,暑期实习真的太难找啦,在最开始的几天提交了几次之后,后面就没有再优化了,能进复赛完全是因为运气好。
## 赛道2:分割
队伍名称:彻底摆烂
初赛分数:2.88 rank:10/1156
复赛分数:2.62 rank:8/1156
### 方案设计
篡改和没篡改过的图像分别划分20%作为验证集,如果按照官方的计分方式,每一轮验证的时间比较长,所以我在挑选模型的时候是按照在篡改验证集上iou分数来进行挑选的(阈值设为0.5)。后面发现其实仔细研究一下官方计算分数的方法非常重要!!!!!!
#### backbone的选择
采用convnext作为encoder,尝试过使用efficientnet,swin-v2(base),和convnext(base),convnext的分数是最高的。Decoder使用了UNet结构,尝试过UperNet,UNet,UNetPlusPlus,UperNet效果比较差,考虑到篡改检测需要比较浅层的纹理信息,而UNet和UNetPlusPlus的效果差不多,就用了UNet。个人感觉Decoder差不多就行了,encoder强才是真的强。
当把所有的图像都resize成512进行训练和推理时,三个不同的backbone分数是:
- efficientnet:线下iou:0.1290,线上分数:0.9620
- swin-v2:线下iou:0.1374,线上分数:1.2087
- convnext:线下iou:0.1723,线上分数:1.5737
使用convnext-large或者xlarge分数还是会再往上升的,但是显卡不够,训练效率太低了,所以没有采用
#### 损失函数
损失函数没有做特别的调整,就是ce loss + dice loss,权重的影响也不是特别大,凭感觉设的。
#### 上分策略
不能算是一种策略但是非常重要!!!!!!
我在提交的时候出现了很多次线下验证分数非常高,但是提交的结果却接近0的情况,这个应该是很多选手都遇到的。我分析了一下评分的函数,是先从没有篡改过的图像里面计算阈值,再用这个阈值去计算篡改图像的iou,然后我分析了一下提交分数特别低的几次结果,几乎都是在没篡改过的图像上出现了虚警,哪怕出现虚警的区域非常小,导致计算出来的阈值特别高,都接近255了。所以我后面考虑结合分割的结果对分类的结果进行修正,具体来说就是对于分类篡改概率大于0.5的,不做处理,对于分类概率小于0.5的,分割的结果乘上分类概率,做了这一步,线上分数可以直接提高0.3-0.5
1. 放大分辨率,512 -> 768 -> 1024 -> 1280,为了提高迭代效率,我每一次放大分辨率都是用上一步的模型初始化的,线上分数分别从1.7610->1.8928->2.0337->2.3958
2. 滑动窗口,考虑到对图像进行缩放还是损失了很多细节信息,所以用滑动窗口的方法对图像进行裁剪,分别使用768,1024的尺寸对原始图像进行裁剪,训练集为完整图像、裁剪后的图像,都resize成512,最后推理的时候也是采用滑窗和resize的结果相结合的方式,线上分数2.5893.
3. 模型融合:本来我是不想用的,但是太卷了,所以挑了三个比较好的模型融合了一下。
#### 小结
复赛还是彻底摆了。。。。。。
总体来说还是因为去年参加了类似的比赛,所以直接用了去年的一些经验,少走了一些弯路。
没有合适的资源?快使用搜索试试~ 我知道了~
天池ICDAR2023篡改图像检测比赛方案.zip
共43个文件
py:26个
pyc:14个
txt:1个
需积分: 5 10 下载量 154 浏览量
2023-09-30
18:17:44
上传
评论
收藏 84KB ZIP 举报
温馨提示
天池&ICDAR2023篡改图像检测比赛方案
资源推荐
资源详情
资源评论
收起资源包目录
天池&ICDAR2023篡改图像检测比赛方案.zip (43个子文件)
tianchi-ICDAR2023-ImageTamper-main
utils.py 7KB
tools
data_split.py 3KB
img_split.py 3KB
cls_refine_seg.py 1KB
cls
infer_cls.py 3KB
dataset
transform_512.py 3KB
RSCDataset.py 3KB
transform_768.py 3KB
contact.py 566B
data_process.py 657B
infer_slide.py 9KB
infer.py 6KB
Dockerfile 475B
losses
__init__.py 309B
dice.py 5KB
jaccard.py 4KB
focal.py 3KB
lovasz.py 8KB
_functional.py 9KB
tversky.py 2KB
soft_ce.py 1KB
soft_bce.py 2KB
__pycache__
tversky.cpython-37.pyc 3KB
jaccard.cpython-37.pyc 3KB
soft_ce.cpython-37.pyc 2KB
soft_bce.cpython-37.pyc 2KB
constants.cpython-37.pyc 330B
_functional.cpython-37.pyc 7KB
focal.cpython-37.pyc 3KB
lovasz.cpython-37.pyc 7KB
__init__.cpython-37.pyc 578B
dice.cpython-37.pyc 4KB
constants.py 1KB
requirements.txt 296B
models
convnext.py 22KB
__pycache__
convnext.cpython-37.pyc 18KB
datasets.py 23KB
engine.py 6KB
train.py 6KB
__pycache__
datasets.cpython-37.pyc 13KB
engine.cpython-37.pyc 4KB
utils.cpython-37.pyc 6KB
README.md 4KB
共 43 条
- 1
资源评论
天天501
- 粉丝: 571
- 资源: 4666
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功