DexiNed

GitHub
846 174 中等 1 次阅读 3天前MIT数据工具开发框架图像
AI 解读 由 AI 自动生成,仅供参考

DexiNed(Dense Extreme Inception Network)是一款专为边缘检测任务设计的开源深度学习模型。它的核心功能是从图像中精准提取物体轮廓与边缘信息,在 BIPED 和 MDBD 等权威数据集上表现卓越,甚至超越了众多现有的最先进模型。

传统边缘检测算法往往依赖复杂的多次训练阶段或需要加载庞大的预训练权重,这不仅增加了使用门槛,也限制了模型的灵活性。DexiNed 有效解决了这一痛点:它采用独特的单阶段训练策略,无需任何预训练权重即可从零开始训练,且所需调节的参数更少,大幅降低了部署和复现的难度。

该工具特别适合计算机视觉领域的研究人员、算法工程师以及希望深入理解边缘检测技术的开发者使用。其技术亮点在于结合了密集连接(Dense)与极端 inception 模块的架构设计,既保证了特征提取的丰富性,又维持了模型的高效性。目前项目主要提供基于 PyTorch 的最新实现版本,同时也保留了早期的 TensorFlow 代码供参考。无论是用于学术研究对比,还是作为实际图像处理项目的底层组件,DexiNed 都是一个轻量且强大的选择。

使用场景

某医疗影像初创团队正在开发一套自动分析皮肤镜图像的辅助诊断系统,需要从复杂的病灶照片中精准提取边缘轮廓以计算病变面积。

没有 DexiNed 时

  • 训练流程繁琐:传统边缘检测模型往往需要多阶段训练或依赖庞大的预训练权重文件,导致环境配置复杂且调试周期长。
  • 细节丢失严重:在处理皮肤纹理与病灶边界模糊的图像时,常规算法容易断裂或产生大量噪点,难以区分真实边缘与干扰纹路。
  • 资源消耗过高:为了达到可用的精度,通常需要调整海量参数并占用大量显存,限制了在普通开发机上的迭代速度。
  • 泛化能力不足:模型在特定数据集表现尚可,但一旦遇到光照变化或不同拍摄设备的图像,边缘提取效果急剧下降。

使用 DexiNed 后

  • 开箱即用高效:DexiNed 支持从头开始训练(from scratch),无需预训练权重且仅需单阶段训练,团队当天即可完成模型部署与验证。
  • 边缘连续精准:凭借密集极端 inception 架构,DexiNed 能敏锐捕捉微弱对比度,生成的病灶轮廓连续完整,有效过滤了皮肤纹理噪声。
  • 轻量灵活调优:模型参数量更少,对硬件要求降低,开发人员可以在本地快速进行多次超参数微调,大幅缩短研发迭代周期。
  • 鲁棒性显著增强:在不同光源和清晰度的测试集中,DexiNed 依然保持稳定的高精度输出,直接提升了后续面积计算算法的可靠性。

DexiNed 通过极简的训练流程和卓越的边缘捕捉能力,让医疗影像分析团队以更低的成本实现了高精度的病灶轮廓自动化提取。

运行环境要求

操作系统
  • 未说明
GPU

未说明

内存

未说明

依赖
notes代码中包含 Linux 路径判断变量 (IS_LINUX),暗示主要支持 Linux 环境。输入图像的宽和高必须是 16 的倍数(如 512, 960 等)。运行测试前需手动下载预训练权重文件并放置于指定目录。TensorFlow 2 版本尚未就绪,当前主要使用 PyTorch 实现。
python3.7
Pytorch>=1.4
OpenCV
Matplotlib
Kornia
Numpy
h5py
PIL
json
DexiNed hero image

快速开始

PWC PWC

DexiNed:用于边缘检测的密集极端Inception网络(扩展版)

- 我们刚刚更新了DexiNed的最新PyTorch版本。
- 使用TF1的实现已被转移到“legacy”目录中。
- 近期我们将进行一些小的更新,但模型、损失函数以及测试和训练流程无需更改,
  希望如此 :)。如果您有时间,请检查其中的错误并反馈至Issues。

这是在WACV2020会议上提出的DexiNed的扩展工作。我们改进了架构和数据集。与现有的基于CNN的边缘检测器不同,该模型仅需一个训练阶段,却能够在多个边缘检测数据集上超越它们。此外,Dexined无需预训练权重,而是从零开始训练,且需要调整的参数较少。如需了解更多关于DexiNed的信息,请阅读我们在ieeexplore上的第一版论文,以及在arXiv上的扩展版论文。

DexiNed的最新版本已在PyTorch中实现,TensorFlow 2版本也将很快推出。如果您需要我们的早期版本,请查看legacy目录。

我们还制作了一段关于DexiNed的简短视频介绍,您可以在Youtube上观看。

目录

DexiNed-v1

此版本于WACV2020会议上提出,是基于TensorFlow 1实现的基础DexiNed模型。

TensorFlow2

Dexined在TF 2上的版本尚未完成。

需求

安装好这些包后,您可以按如下方式克隆本仓库:

git clone https://github.com/xavysp/DexiNed.git
cd DexiNed

项目结构

├── data                        # 测试用示例图像(请将您的图像放入此处)
|   ├── lena_std.tif            # 示例1
├── DexiNed-TF2                 # 在TensorFlow2中的DexiNed(正在建设中)   
├── figs                        # README.md中使用的图片
|   └── DexiNed_banner.png      # DexiNed横幅图
├── legacy                      # 在TensorFlow1中的DexiNed(于WACV2020年提出)
├── utls                        # 本仓库中使用的一系列工具
|   └── image.py                # 各种工具函数
├── datasets.py                 # 数据集管理工具 
├── dexi_utils.py               # 新功能,目前尚未在当前版本中使用
├── losses.py                   # 用于训练DexiNed的损失函数(BDCNloss2)
├── main.py                     # 主Python文件,包含主要函数和参数设置
                                # 您可以在此进行测试和训练
├── model.py                    # PyTorch中的DexiNed类

在开始之前,请先查看datasets.py文件。从代码的第一行就可以看到用于训练和测试的数据集。main.py第194行会调用用于训练或测试的数据集,示例如下:

    parser = argparse.ArgumentParser(description='DexiNed训练器.')
    parser.add_argument('--choose_test_data',
                        type=int,
                        default=1,
                        help='已设定测试数据选择:0 - 8')
    # ----------- 测试 -------0--

    TEST_DATA = DATASET_NAMES[parser.parse_args().choose_test_data] # 最大8个
    test_inf = dataset_info(TEST_DATA, is_linux=IS_LINUX)
    test_dir = test_inf['data_dir']
    is_testing = True# 当前测试 -352-SM-NewGT-2AugmenPublish

    # 训练设置
    TRAIN_DATA = DATASET_NAMES[0] # BIPED=0
    train_inf = dataset_info(TRAIN_DATA, is_linux=IS_LINUX)
    train_dir = train_inf['data_dir']

测试

如前所述,datasets.py文件包含了DexiNed用于测试和训练的所有数据集配置:

DATASET_NAMES = [
    'BIPED',
    'BSDS',
    'BSDS300',
    'CID',
    'DCD',
    'MULTICUE', #5
    'PASCAL',
    'NYUD',
    'CLASSIC'
] 

例如,如果您想测试自己的数据集或图像,可以选择“CLASSIC”,并将测试数据保存在“data”目录中。在测试DexiNed模型之前,您需要下载这里的检查点文件PyTorch检查点,并将其保存到DexiNed文件夹中,例如:checkpoints/BIPED/10/(此处放置来自Drive的检查点),然后按照以下方式运行:

python main.py --choose_test_data=-1 请确保在main.py中,测试设置如下: parser.add_argument('--is_testing', default=True, help='脚本处于测试模式。') DexiNed会将输入图像下采样至16个尺度,请确保在dataset_info函数(datasets.py)中,图像的宽度和高度是16的倍数,例如512、960等。在Drive上的检查点文件中,您将找到最新的训练检查点,该检查点是在即将于Kaggle上更新的最新版BIPED数据集上训练得到的。

训练

python main.py 

请确保在main.py中,训练设置如下: parser.add_argument('--is_testing', default=False, help='脚本处于训练模式。')

数据集

用于训练的数据集

- BIPED数据集已更新至最新版本,现可在Kaggle上下载。

BIPED(巴塞罗那感知边缘检测图像数据集):该数据集是为本研究收集并标注的边缘级数据集。更多详情、增强脚本及下载信息请参见:选项1选项2 Kaggle。BIPED数据集已更新,增加了更多标注并修正了一些错误,因此这些链接提供了更新后的BIPED版本。如果您需要旧版本,可通过电子邮件联系我们。最新的性能指标(见下表)也将很快更新。

用于测试的数据集

边缘检测数据集

非边缘检测数据集

性能

以下结果来自 BIPEP 的最新版本(BIPEDv2,我们仍称其为 BIPED,因为这是默认版本)。 在 WACV20 之后,BIPED 数据集中的图像被再次检查,并添加了更多标注。所有这些模型都已重新训练。

方法 ODS ODS AP
RCF .849 .861 .906
BDCN .890 .899 .934
CATS .887 .892 .817
DexiNed-f(我们的方法) .895 .900 .927
DexiNed-a(我们的方法) .893 .897 .940

引用

如果你喜欢 DexiNed,为什么不给 GitHub 上的项目点个赞呢!

GitHub 星标

如果你的学术或科学出版物中使用了我们的工作,请引用我们的论文:

@INPROCEEDINGS {xsoria2020dexined,
author = {X. Soria and E. Riba and A. Sappa},
booktitle = {2020 IEEE 冬季计算机视觉应用会议 (WACV)},
title = {密集极端 Inception 网络:迈向鲁棒的边缘检测 CNN 模型},
year = {2020},
volume = {},
issn = {},
pages = {1912-1921},
keywords = {图像边缘检测;卷积;训练;馈送;机器学习;任务分析;核},
doi = {10.1109/WACV45572.2020.9093290},
url = {https://doi.ieeecomputersociety.org/10.1109/WACV45572.2020.9093290},
publisher = {IEEE 计算机协会},
address = {美国加州洛斯阿拉米托斯},
month = {三月}
}

扩展版本:

@article{soria2023dexined_ext,
title = {用于边缘检测的密集极端 inception 网络},
journal = {模式识别},
volume = {139},
pages = {109461},
year = {2023},
issn = {0031-3203},
doi = {https://doi.org/10.1016/j.patcog.2023.109461},
url = {https://www.sciencedirect.com/science/article/pii/S0031320323001619},
author = {哈维尔·索里亚、安赫尔·萨帕、帕特里西奥·胡马南特、阿拉什·阿克巴里尼亚},
keywords = {边缘检测、深度学习、CNN、轮廓检测、边界检测、分割}
}

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|3天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|4天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

147.9k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.1k|★★☆☆☆|昨天
开发框架图像Agent

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|3天前
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|3天前
语言模型图像Agent