semseg

GitHub
788 162 较难 1 次阅读 2周前图像开发框架
AI 解读 由 AI 自动生成,仅供参考

semseg 是一个专注于语义分割领域的开源项目,旨在系统性地综述并复现主流的深度学习分割架构。它的核心任务是让计算机能够理解图像内容,为画面中的每一个像素精准分配语义标签(如区分道路、天空、人物或车辆),从而支撑起手机人像模式虚化、实时视频分析等创新应用。

针对研究人员和开发者在复现经典论文时面临的代码分散、环境配置复杂等痛点,semseg 提供了一站式的解决方案。它基于 PyTorch 框架,不仅整理了详尽的算法对比表格,还高质量实现了包括 FCN、PSPNet、DeepLab 系列、RefineNet、BiSeNet 在内的数十种经典网络模型。其独特亮点在于“全”与“通”:既涵盖了从高精度架构到轻量化实时网络(如 ENet、ERFNet)的广泛选择,又支持多种骨干网络(Backbone)的灵活组合,方便用户进行公平的性能基准测试或快速验证新想法。

无论是希望深入理解分割算法原理的学术研究者,还是需要快速搭建原型、对比模型效果的工程师,semseg 都是一个极具价值的参考库和学习资源。它通过清晰的代码结构和丰富的文档,帮助用户降低技术门槛,高效探索计算机视觉的前沿领域。

使用场景

某自动驾驶初创团队的算法工程师正在开发城市道路感知系统,需要快速验证多种语义分割模型以识别路面、行人和车辆。

没有 semseg 时

  • 重复造轮子效率低:团队需从零编写 FCN、PSPNet 等经典网络的底层代码,耗费数周时间复现基础架构。
  • 模型对比成本高:缺乏统一框架,切换不同骨干网络(如 VGG 换 ResNet)或调整损失函数时,需大幅重构代码。
  • 论文落地门槛高:面对 DenseASPP、BiSeNet 等新论文,难以快速找到可靠参考实现进行效果评估。
  • 数据加载繁琐:针对 Cityscapes 等特定数据集,需单独编写复杂的数据预处理和加载脚本。

使用 semseg 后

  • 开箱即用加速研发:直接调用仓库中已实现的 ENet、RefineNet 等十余种成熟架构,将模型验证周期从数周缩短至几天。
  • 灵活组合轻松实验:利用其模块化设计,自由替换 Backbone(如 ResNet-101)与分割头,快速完成多模型性能基准测试。
  • 前沿算法快速跟进:基于仓库整理的论文清单及对应代码指引,迅速复现并集成最新研究成果到现有流水线。
  • 标准化数据接口:直接使用内置的数据集加载器,统一处理图像与视频数据,消除预处理差异带来的干扰。

semseg 通过提供标准化的算法复现与模块化架构,让研发团队从繁琐的代码工程中解放出来,专注于核心策略优化与场景落地。

运行环境要求

操作系统
  • 未说明
GPU

需要 NVIDIA GPU(文中提及在 TITAN 和 NVIDIA Jetson TX2 上测试),具体显存大小和 CUDA 版本未说明

内存

未说明

依赖
notes该项目主要基于 PyTorch 框架实现多种语义分割算法(如 FCN, RefineNet, ENet 等)。可视化功能依赖 visdom,需单独启动服务器(python -m visdom.server)并在浏览器访问。支持多种数据集(CamVid, PASCAL VOC, CityScapes, ADE20K 等),部分模型在 TITAN GPU 上可实现高达 112fps 的实时分割速度。
python未说明
pytorch
visdom
semseg hero image

快速开始

semseg

master

语义图像分割,为图像中的每个像素分配语义标签(例如“道路”,“天空”,“人”,“狗”)的任务使得能够实现许多新应用,例如Pixel 2和Pixel 2 XL智能手机的纵向模式中提供的合成浅景深效果和移动实时视频分割。

引用自Semantic Image Segmentation with DeepLab in TensorFlow

本仓库的开发计划见项目下一步开发计划

下面将近期主要的论文整理表格以供后面进一步总结。


网络实现

  • FCN(VGG和ResNet的骨干网络),已实现,参考fcn_understanding
  • RefineNet,已实现,参考refinenet_understanging
  • DUC,参考duc_understanding
  • DRN,已实现
  • PSPNet,参考pspnet_understanding
  • ENet,已实现
  • ErfNet,已实现
  • EDANet,已实现
  • LinkNet,已实现,参考pytorch-linknet
  • FC-DenseNet,已实现,参考fcdensenet_understanding
  • LRN,已实现,但是没有增加多分辨率loss训练,后期增加。
  • BiSeNet,已实现,主要是ResNet-18和ResNet-101,其余类似。
  • FRRN,已实现,FRRN A和FRRN B。
  • 增加YOLO-V1多任务学习,还未完全测试。
  • GCN
  • ...

semantic segmentation algorithms

这个仓库旨在实现常用的语义分割算法,主要参考如下:


相关论文


弱监督语义分割

  • Generating Self-Guided Dense Annotations for Weakly Supervised Semantic Segmentation

实例分割

目前暂且收集相关实例分割到语义分割目录中,待综述完成单独分离。

  • Semantic Instance Segmentation with a Discriminative Loss Function

数据集实现


数据集增加

通过仿射变换来实现数据集增加的方法扩充语义分割数据集。


依赖

  • pytorch
  • ...

数据


用法

# 在tmux或者另一个终端中开启可视化服务器visdom
python -m visdom.server
# 然后在浏览器中查看127.0.0.1:9097
  • 训练
# 训练模型
python train.py
  • 校验
# 校验模型
python validate.py

ENet可视化结果

以下是相关语义分割论文粗略整理。


ShuffleSeg:实时语义分割网络

摘要
实时语义分割 对于移动设备和机器人相关应用具有重要意义。我们提出了一种计算效率高的分割网络,命名为 ShuffleSeg所提出的架构在编码器中基于分组卷积和通道洗牌来提升性能。 我们对比了不同解码方法的消融实验,包括跳跃连接架构、UNet 和扩张前端。文中还探讨了速度与精度之间的有趣权衡。结果表明,解码方法中的跳跃连接架构在实现实时性能目标方面提供了最佳折衷方案,同时通过利用更高分辨率的特征图实现了足够准确的分割效果。ShuffleSeg 在 CityScapes 数据集上进行了评估,并与当前最先进的实时分割网络进行了对比。它在计算量上减少了 2 倍 GFLOPs,而在 CityScapes 测试集上仍能保持与之相当的平均交并比(mIoU)——达到 58.3%。ShuffleSeg 在 NVIDIA Jetson TX2 上可达到 15.7 帧/秒 的运行速度,这使其在实时应用中具有巨大潜力。
会议/期刊 作者 论文 代码
arXiv: 1803.03816 Mostafa Gamal, Mennatullah Siam, Moemen Abdel-Razek ShuffleSeg:实时语义分割网络 TFSegmentation

本文提出了一种基于ShuffleNet的实时语义分割网络,通过在编码器中使用grouped convolution和channle shuffling(ShuffleNet基本结构),同时用不同的解码方法,包括Skip架构,UNet和Dilation前端探索了精度和速度的平衡。

主要动机是:

It was shown in [4][2][3] that depthwise separable convolution or grouped convolution reduce the computational cost, while maintaining good representation capability.

训练的trciks:充分利用CityScapes数据集,将其中粗略标注的图像作为网络预训练,然后基于精细标注的图像作为网络微调。


RTSeg:实时语义分割比较研究

摘要
语义分割对机器人相关应用,尤其是自动驾驶,大有裨益。然而,目前大多数关于语义分割的研究都集中在提高模型精度上,而对计算高效的解决方案关注较少。少数在这方面开展的工作也未能提供系统性的方法来评估分割设计中的不同选择。 本论文填补了这一空白,提出了一套实时语义分割基准测试框架,该框架采用解耦的设计,分别处理特征提取和解码过程。该框架包含多种用于特征提取的网络架构,如 VGG16、Resnet18、MobileNet 和 ShuffleNet。 同时,它还包含多个定义解码方法的元架构,包括 SkipNet、UNet 和 Dilation Frontend。实验结果基于城市场景的 Cityscapes 数据集呈现。模块化的设计使得新的架构得以涌现,与 SegNet 相比,计算量减少了 143 倍 GFLOPs。
会议/期刊 作者 论文 代码
arXiv: 1803.02758 Mennatullah Siam, Mostafa Gamal, Moemen Abdel-Razek, Senthil Yogamani, Martin Jagersand RTSeg:实时语义分割比较研究 TFSegmentation

和ShuffleSeg: Real-time Semantic Segmentation Network同一作者。

本文整体思路和ShuffleSeg类同,只不过更加抽象了编码器解码器,这里的编码器不再仅仅是ShuffleNet,而是增加了VGG16,Resnet18,MobileNet,方便了后期不同基础网络性能的比较。


SegNet:用于鲁棒语义像素级标注的深度卷积编码器-解码器架构

摘要
我们提出了一种新颖的深度架构——SegNet,用于语义像素级图像标注。SegNet 具备多项吸引人的特性:(i) 它仅需对完全训练好的函数进行前向推理即可获得平滑的标签预测;(ii) 随着网络深度增加,用于像素标注的上下文信息更加丰富,从而提升准确性;(iii) 在任意深度下,都可以轻松地可视化特征激活对像素标签空间的影响。
SegNet 由一系列编码器堆叠而成,随后是对应的解码器堆叠,最终连接到一个 Softmax 分类层。解码器的作用是将编码器输出的低分辨率特征图映射回输入图像全尺寸的特征图。这一设计解决了近期深度学习方法中的一个重要缺陷:这些方法通常直接采用为物体分类设计的网络来进行像素级标注。这类方法缺乏将深层特征图映射回输入尺寸的有效机制。 因此,它们往往依赖临时性的上采样方法,例如通过复制特征来实现放大,但这会导致预测结果噪声较大,并且为了减少过度上采样、保留更多空间上下文,不得不限制池化层的数量。而 SegNet 则通过学习如何将编码器输出映射为图像像素标签,成功克服了这些问题。我们在 CamVid、KITTI 的户外 RGB 场景以及 NYU 数据集的室内场景上测试了 SegNet 的性能。结果表明,即使不使用额外的线索(如深度信息、视频帧或 CRF 模型后处理),SegNet 也能达到当前最先进的水平。
会议/期刊 作者 论文 代码
arXiv: 1505.07293 Vijay Badrinarayanan, Ankur Handa, Roberto Cipolla SegNet:用于鲁棒语义像素级标注的深度卷积编码器-解码器架构 caffe-segnet

本文为SegNet-Basic,基本思路就是编码器-解码器架构,指出当前语义分割方法都缺少一个机制将深度特征图map到输入维度的机制,基本都是特定的上采样特征方法,比如复制。


贝叶斯SegNet:用于场景理解的深度卷积编码器-解码器架构中的模型不确定性

摘要
我们提出了一种用于概率性像素级语义分割的深度学习框架,我们称之为贝叶斯SegNet。语义分割是视觉场景理解的重要工具,而有意义的不确定性度量对于决策至关重要。我们的贡献是一个实用的系统,能够预测像素级类别标签,并提供模型不确定性的度量。 我们通过在测试时使用丢弃法进行蒙特卡洛采样来生成像素类别标签的后验分布,从而实现这一目标。此外,我们还表明,在无需额外参数化的情况下,对不确定性建模可以在SegNet、FCN和Dilation网络等多种先进架构上将分割性能提高2-3%。我们还观察到,在较小的数据集上,建模不确定性更为有效,性能提升显著。我们在室内SUN场景理解和室外CamVid驾驶场景数据集上对贝叶斯SegNet进行了基准测试。
会议/期刊 作者 论文 代码
arXiv: 1511.02680 Alex Kendall, Vijay Badrinarayanan, Roberto Cipolla 贝叶斯SegNet:用于场景理解的深度卷积编码器-解码器架构中的模型不确定性 caffe-segnet

本文主要提出了一种基于概率的像素级语义分割框架Bayesian SegNet,通过建模模型不确定性能够在许多网络中都提升2-3%性能,如SegNet,FCN和Dilation网络。


SegNet:一种用于图像分割的深度卷积编码器-解码器架构

摘要
我们提出了一种新颖且实用的深度全卷积神经网络架构,用于语义像素级分割,称为SegNet。该核心可训练的分割引擎由一个编码器网络、一个对应的解码器网络以及随后的像素级分类层组成。编码器网络的架构在拓扑结构上与VGG16网络中的13个卷积层完全相同。 解码器网络的作用是将低分辨率的编码器特征图映射回输入图像的完整分辨率,以便进行像素级分类。SegNet的新颖之处在于其解码器对低分辨率输入特征图进行上采样的方式。具体而言,解码器利用对应编码器在最大池化步骤中计算出的池化索引来进行非线性上采样。 这种方法无需学习如何进行上采样。上采样后的特征图是稀疏的,随后再通过可训练的滤波器进行卷积操作,以生成稠密的特征图。我们将所提出的架构与广泛采用的FCN以及著名的DeepLab-LargeFOV和DeconvNet架构进行了比较。这种比较揭示了在实现良好分割性能时所涉及的内存与精度之间的权衡
SegNet的主要动机来自于场景理解应用。因此,它在推理过程中的内存占用和计算时间方面都非常高效。与其他竞争架构相比,SegNet的可训练参数数量也显著较少,并且可以使用随机梯度下降法进行端到端训练。我们还在道路场景和SUN RGB-D室内场景分割任务上对SegNet及其他架构进行了受控基准测试。这些定量评估表明,与其他架构相比,SegNet在推理时间和内存占用方面表现优异,同时保持了具有竞争力的推理速度。我们还提供了SegNet的Caffe实现以及位于http://mi.eng.cam.ac.uk/projects/segnet/的在线演示。
会议/期刊 作者 论文 代码
arXiv: 1511.00561 Vijay Badrinarayanan, Alex Kendall, Roberto Cipolla SegNet:一种用于图像分割的深度卷积编码器-解码器架构 caffe-segnet

本文提出的SegNet是应用最为广泛的架构,其中SegNet-VGG16在性能和精度上都获得了较大的提升,主要指出了解码器使用的反池化操作。


U-Net:用于生物医学图像分割的卷积网络

摘要
大家普遍认为,成功训练深度网络需要数以千计的标注训练样本。在本文中,我们提出了一种网络及其训练策略,通过大量使用数据增强技术,更有效地利用现有的标注样本。 该架构由一个捕捉上下文的收缩路径和一个对称的扩张路径组成,后者能够实现精确的定位。我们证明,这样的网络仅需少量图像即可进行端到端训练,并且在ISBI挑战赛中,针对电子显微镜堆栈中神经元结构的分割任务,其性能优于先前的最佳方法(滑动窗口卷积网络)。同样使用该网络,但将其应用于透射光显微镜图像(相衬和DIC),我们在2015年ISBI细胞追踪挑战赛的相关类别中以较大优势获胜。此外,该网络速度非常快。在最新的GPU上,对一张512×512的图像进行分割只需不到一秒钟。完整的实现(基于Caffee)以及训练好的网络均可在http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net上找到。
会议/期刊 作者 论文 代码
arXiv: 1505.04597 Olaf Ronneberger, Philipp Fischer, Thomas Brox U-Net:用于生物医学图像分割的卷积网络 unet第三方

本文提出的U-Net网络能够有效利用标注样本,通过a symmetric expanding path提升分割精度。

相似工具推荐

openclaw

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

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

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

162.1k|★★★☆☆|1周前
开发框架图像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 真正成长为懂上

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

ComfyUI

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

108.3k|★★☆☆☆|6天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|6天前
插件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|★★☆☆☆|1周前
插件开发框架