IMDLBenCo 文档IMDLBenCo 文档
  • 基本信息

    • 简介
    • 框架设计
  • 快速上手

    • 安装
    • 数据集准备
    • 案例一:使用Model Zoo训练复现SoTA论文
    • 案例二:使用Model Zoo配合checkpoint快速测试
    • 案例三:使用benco init实现你自己的模型
    • 案例四:推理并保存一个数据集的mask和label
    • 案例五:获得模型的参数量和FLOPs
  • API文档
  • 数据集

    • # 篡改检测数据集索引
    • AIGC生成内容数据集索引
  • 模型和论文

    • BenCo内实现的模型
    • 其他模型,算法,论文
  • English
  • 简体中文
GitHub
  • 基本信息

    • 简介
    • 框架设计
  • 快速上手

    • 安装
    • 数据集准备
    • 案例一:使用Model Zoo训练复现SoTA论文
    • 案例二:使用Model Zoo配合checkpoint快速测试
    • 案例三:使用benco init实现你自己的模型
    • 案例四:推理并保存一个数据集的mask和label
    • 案例五:获得模型的参数量和FLOPs
  • API文档
  • 数据集

    • # 篡改检测数据集索引
    • AIGC生成内容数据集索引
  • 模型和论文

    • BenCo内实现的模型
    • 其他模型,算法,论文
  • English
  • 简体中文
GitHub
  • 指南

    • 简介
    • 框架设计
  • 快速上手

    • 安装
    • 数据集准备
    • 案例一:使用Model Zoo训练复现SoTA论文
    • 案例二:使用Model Zoo配合checkpoint快速测试
    • 案例三:使用benco init实现你自己的模型
    • 案例四:推理并保存一个数据集的mask和label
    • 案例五:获得模型的参数量和FLOPs

简介

概览

IMDLBenCo 是一个模块化的,针对图像篡改检测和定位任务设计的深度学习工具包,基于的PyTorch框架设计。可以用于:

  • 复现篡改检测领域SoTA模型
  • 创建自己的篡改检测模型
  • 批量比较多种视觉Backbone和篡改检测特征提取器的性能

设计理念与优势

IMDL-BenCo的设计理念为:尽最大可能平衡 科研代码对于自定义的需求 与 深度学习框架对于标准化的要求 二者的矛盾,并力求提高实验速度与代码开发效率。

在这个理念下,IMDL-BenCo代码框架上具有如下特点和优势:

  • 易于上手
    • 相比于传统框架(比如OpenMMLab和Detectron2),IMDL-BenCo不依赖于注册机制
      • 方便配合IDE跳转查看类与函数的定义,而无需在文档的海洋中焦头烂额。
    • 代码风格与PyTorch原生框架高度相似,非常利于深度学习的初学者无缝上手使用。
  • 速度很快:
    • 基于CLI(命令行界面,Command Line Interface)的代码生成机制。
      • 如果了解Vue等Web前端框架的CLI会非常熟悉这种模式,可以减少花费在框架代码上的时间,专注于模型设计与实验。
      • 同时满足灵活的自定义需求,直接在生成的代码修改即可,而不无需对框架源码hack。
    • GPU加速的评价指标计算,远超Sklearn等机器学习库原生方法的速度。
    • 熟练者仍可以使用注册机制实现大批量实验管理,高效完成消融实验。
  • 功能全面:
    • 集成常见篡改检测数据集的下载和管理(TODO)
    • 集成丰富的预处理算法,包括MVSS-Net提出的多种“Naive Transform”,并支持根据Albumentations库的接口自定义新的预处理接口。
    • 集成多种SoTA模型,可以直接用于实验和测试。
    • 集成了多种视觉任务优秀的Backbone,比如ResNet,Swin和SegFormer等等,可以用于基准进行实验。
    • 集成了多种篡改检测特征提取器,包含Sobel,BayarConv等等。
      • 可以配合Backbone进行测试。
      • 也可以在框架之外通过import直接使用于其他不依赖于IMDL-BenCo的模型代码构建。
    • 集成多种常见篡改检测领域常见评价指标,包含Image-level和Pixel-level的F1、AUC等等。
    • 集成Tensorboard等可视化工具,只需要向指定接口传入图像,标量即可。
    • 集成复杂度分析(参数量,FLOPs),Grad-CAM等分析工具,方便快捷完成论文图表。

动机

篡改检测任务长久以来都面临着预处理不统一,训练数据集不统一,评价指标不统一,模型不开源,训练代码不开源等等问题,严重影响了模型之间的公平比较。

因此,我们希望通过一套规范而统一的代码框架,减轻开源工作所需的代码压力,鼓励更多的开源工作。并正确且准确地完成对于现有模型性能的评估与比较。推进整个图像篡改检测领域更加健康、公平的可持续发展。

在 GitHub 上编辑此页
上次更新: 2025/4/3 10:12
贡献者: Ma Xiaochen (马晓晨)
Next
框架设计