超像素—学习笔记

超像素(superpixel)——SLIC和深度学习法 用简单的语言描述超像素的形成原理,提供传统法SLIC和深度学习法学习超像素的具体数学过程和核心代码 阅读详情
AI摘要

本文深入解析超像素技术,探讨其概念、判别条件与初始化方法,重点介绍SLIC算法的原理与步骤,以及其在图像处理中的优势。超像素作为图像处理的重要预处理手段,能够有效降低图像处理复杂度。

概念

超像素由一系列位置相邻且颜色、亮度、纹理等特征相似的像素点组成的小区域。这些小区域大多保留了进一步进行图像分割的有效信息,且一般不会破坏图像中物体的边界信息。

超像素是吧一幅像素级(pixel-level)的图,划分成区域级(district-level)的图,是对基本信息元素进行的抽象。


(a)是原始图像,(b)是基于人类视角的分割图(groundtruth),(c)是超像素分割的图像,(d)是基于(c)进行分割的图像。

超像素最大的功能之一是作为图像处理其他算法的预处理,在不牺牲太大精确度的情况下降维。
超像素最直观的解释是把一些具有相似特性的像素“聚合”起来,形成一个更具有代表性的大“元素”。而这个新元素,将作为其他图像处理算法的基本单位。这样可以降低维度,剔除一些异常像素点。
理论上,任何图像分割算法的过度分割(over-segmentation)即可生成超像素。

图像分割中的超像素是指具有相似纹理、颜色、亮度等特征的相邻相似构成的具有一定意义的不规则的像素块。它利用像素之间特征的相似性将像素分组,用少量的超像素代替大量的像素来表达图像特征,很大程度上降低了图像处理的复杂度,所以通常作为分割算法的预处理步骤。

超像素判别条件

  • Undersegmentation Error
    在这里插入图片描述
    如上图所示,白色是图像中的一个物体,红线是一个个超像素的轮廓,而粉红色的区域就是undersegmentation区域,这部分区域越大越不好。
  • Boundary Recall
    在这里插入图片描述
    如上图所示,黑色虚线及实线是图像中物体的轮廓,红线是超像素的边界。一个好的超像素算法,应该覆盖图像中物体的轮廓。在给予一定缓冲(粉红色区域)的情况下,超像素边缘可以覆盖图像物体边缘(黑色实线)越多越好。
  • Compactness score
    衡量超像素是否“紧实”。
    在这里插入图片描述

超像素初始化的方法

  • 种子像素初始化
    SLIC利用了简单的聚类(贪婪)算法,初始时,每一个聚类的中心被平均的分布在图像中,而超像素的个数,可以基本由这些中心点来决定。每一步迭代,种子像素合并周围的像素,形成超像素。
    在这里插入图片描述
  • 矩形区域初始化
    SEEDS的初始化是把图像平均分割成很多矩形,初始超像素即为这些矩形。每一步迭代,超像素的边缘不断变化,直到汇合。
    在这里插入图片描述

超像素算法

在这里插入图片描述

SLIC算法

SLIC(simple linear iterative clustering),即简单的线性迭代聚类。它是2010年提出的一种思想简单、实现方便的算法,将彩色图像转换为CIELAB颜色空间和XY坐标下的5维特征向量,然后对5维特征向量构造距离度量标准,对图像像素进行局部聚类的过程。SLIC算法能生成紧凑近似均匀的超像素,在运算速度,物体轮廓保持、超像素形状方面具有较高的综合评价,比较符合人们期望的分割效果。

SLIC优点:

  • 生成的超像素如同细胞一般紧凑整齐,邻域特征比较容易表达。这样基于像素方法可以比较容易的改造为基于超像素的方法。
  • 不仅可以分割彩色图像,也可以兼容分割灰度图。
  • 需要设置的参数非常少,默认情况下只需要设置一个预分割的超像素的数量。
  • 相比其他的超像素的分割方法,SLIC在运行速度、生成超像素的紧凑度、轮廓保持方面都比较理想。

算法步骤:

  • 初始化种子点(聚类中心):按照设定的超像素的个数,在图像内均匀的分配种子点。假设图像总共有N个像素点,预分割为K个相同尺寸的超像素,那么每个超像素的大小为N/K,则相邻种子点的距离(步长)近似为S=sqrt(N/K)。
  • 在种子点的n*n领域内重新选择种子点(一般取n=3):计算该领域内所有像素点的梯度值,将种子点移到该领域内梯度最小的地方。避免种子点落在梯度较大的轮廓边界上,以免影响后续聚类效果。
  • 在每个种子点周围的领域内为每个像素点分配类别标签(即属于哪个聚类中心):SLIC的搜索范围是2S2S,期望的超像素尺寸为SS,这样可以加速算法收敛。
  • 距离度量:包括颜色距离和空间距离。对每个搜索到的像素点,分别计算它和该种子点的距离。
    在这里插入图片描述
    其中, d c d_{c} dc​代表颜色距离, d s d_{s} ds​代表空间距离, N s N_{s} Ns​是类内最大空间距离,定义为 N s = S = s q r t ( N / K ) N_{s}=S=sqrt(N/K) Ns​=S=sqrt(N/K),适用于每个聚类。最大的颜色距离 N c N_{c} Nc​既随图像不同而不同个,也随聚类不同而不同,所以取一个固定常数m(取值范围[1,40],一般取10)代替,最终的聚类度量如下:
    在这里插入图片描述
    由于每个像素点都会被多个种子点搜索到,所以每个像素点都会有一个与周围种子点的距离,取最小值对应的种子点作为该像素点的聚类中心。
  • 迭代优化:理论上上述步骤不断迭代知道误差收敛(每个像素点聚类中心不再发生变化为止),实践发现10次迭代对绝大部分图片都可以得到较理想效果,所以一般迭代次数取10。
  • 增强连通性:解决经过迭代后出现的多连通情况、超像素尺寸过小、单个超像素被切割成多个不连续超像素的情况。具体步骤为:新建一张标记表,表内元素均为-1,按照“Z”型走向(从左到右,从上到下顺序)将不连续的超像素、尺寸过小超像素重新分配给临近的超像素,遍历过的像素点分配给相应的标签,直到所有点遍历完毕为止。

参考资料

SLIC与目前最优超像素算法的比较 SLIC Superpixels Compared to State-of-the-art Superpixel Methods
scikit-image.segmentation
SLIC超像素分割详解(一):简介
SLIC超像素分割详解(二):关键代码分析
SLIC Superpixels
超像素经典算法SLIC的代码的深度优化和分析。
超像素 (Superpixel)
超像素(Superpixel)的大致原理以及State-of-the-art?
SEEDS: Superpixels Extracted via Energy-Driven Sampling

Seeds算法(SEEDS: Superpixels Extracted via Energy-Driven Sampling) 论文标题:SEEDS: Superpixels Extracted via Energy-Driven Sampling 论文作者:Michael Van den Bergh , Xavier Boix , Gemma Roig , Benjamin de Capitani , and Luc Van Gool Seeds算法是一个具有独特框架非常有创意的算法,其中还提出了边界特征值来平滑Superpixel的边界。 阅读详情

相关推荐

SLIC超像素分割详解(一):简介

SLIC超像素分割详解(一) 超像素概念是2003年Xiaofeng Ren提出和发展起来的图像分割技术,是指具有相似纹理、颜色、亮度等特征的相邻像素构成的有一定视觉意义的不规则像素块。它利用像素之间特征的相似性将像素分组,用少量的超像素代替大量的像素来表达图片特征,很大程度上降低了图像后处理的复杂度,所以通常作为分割算法的预处理步骤。已经广泛用于图像分割、姿势估计、目标跟踪、目标识别等计算机视

计算机视觉life 12万+

超像素(Superpixel)理解

最近看点云处理的文章,有些文章中提到了superpixel这个概念,查了一些资料,对其理解记录如下: 超像素就是把一幅原本是像素级(pixel-level)的图,划分成区域级(district-level)的图。可以将其看做是对基本信息进行的抽象。 超像素分割属于图像分割(image segmentation),再细化应该属于过分割(over segmentation)。 比如我们对一幅图像进行超像

Linear_Luo的专栏 3万+

SLIC 超像素分割详解(三):应用

看过上面的介绍后,我们应该思考一下:分割好的超像素有什么用?怎么用?用到哪里? 首先,超像素可以用来做跟踪,可以参考卢湖川课题组发表在IEEE TIP上的《Robust superpixeltracking》;其次,可以做标签分类,参考09年ICCV的《Class segmentation andobject localization with superpixel neighborhoods》

计算机视觉life 2万+

超像素

超像素是一种以聚类思想为初衷的方法,目的是为了对较大像素的图像进行区域划分,来帮助理解,本文介绍了一个开源项目在火灾检测场景使用超像素,比较巧妙,虽然效果不是很理想,但是提供了一个很好的思路。 Key Words:超像素、火灾检测、OpenCV实现 Beijing, 2020 作者:RaySue Code:https://github.com/tobybreckon/fire-detection-cnn Agile Pioneer   概念   超像.

雄关漫道真如铁 而今迈步从头越 4262

Opencv学习笔记 超像素分割

在计算机视觉领域,图像分割(Segmentation)指的是将数字图像细分为多个图像子区域(像素的集合)(也被称作超像素)的过程。超像素由一系列位置相邻且颜色、亮度、纹理等特征相似的像素点组成的小区域。这些小区域大多保留了进一步进行图像分割的有效信息,且一般不会破坏图像中物体的边界信息。 图像分割的结果是图像上子区域的集合(这些子区域的全体覆盖了整个图像),或是从图像中提取的轮廓线的集合(例如边缘检测)。一个子区域中的每个像素在某种特性的度量下或是由计算得出的特性都是相似的,例如颜色、亮度、纹理。

学以致用 知行合一 2393

金蝶云星空核心数据表解析与高效关联查询指南

本文深入解析金蝶云星空核心数据表结构,提供高效关联查询的实战指南。文章详细介绍了基础资料、业务单据和财务模块的关键表及其关联逻辑,重点阐述了如何利用关联表(_LK表)进行跨单据溯源,并分享了编写高性能SQL的实用技巧与避坑建议,帮助开发者、实施顾问和数据分析师快速掌握数据查询方法,提升工作效率。

weixin_29254673的博客 524

超像素分割学习笔记

学习目标 掌握超像素分割的原理、超像素分割方法的推导过程以及实现方法 1.1 超像素 超像素是指将具有相似纹理、颜色、亮度等特征的相邻像素聚合成某一个像素块。结合超像素的思想,使得少量的像素块可以用来代替原本大量的像素。目前超像素广泛应用于图像分割、目标识别等领域。 1.2 SLIC SLIC(Simple Linear IterativeClustering,简单线性迭代聚类)是超像素分割中使用比较多的方法,主要特点(优点)如下: 1.基于LAB颜色空间 2.运行速度快,生成的超像素紧凑 3.思想比较简

weixin_43077546的博客 1746

PWM(脉宽调制)技术详解:从基础到应用实践示例

PWM(脉宽调制)技术是嵌入式系统中一项重要的控制技术,通过调节脉冲宽度来实现对模拟设备的精准控制。从LED亮度到电机速度,PWM的应用场景非常广泛。对于嵌入式学习者来说,理解PWM的工作原理、掌握其配置方法,不仅能提升编程能力,还能为更多复杂系统的开发打下坚实的基础。

SpringWJN的博客 6325

SLIC超像素算法学习笔记

一、算法步骤 1.将输入图像转化为CEILAB空间 2.输入k并计算出S: 3.创造一个以s为间距的网格 4.移动边缘的平均值 5.对图像中的每个像素在2s的邻域内进行搜索,并将该平均值分配给该像素 6.取分配给一个平均数的像素的样本平均数,并更新平均数的位置 7.转到第5步,重复一定数量的迭代次数 二、代码部分 % Written by Pratik Jain % Subscribe me on YouTube % https://www.youtube.com/PratikJainTutorials

zzzzyyyyy123456的博客 1130

Windows下Python安装geopandas全攻略:解决GDAL依赖问题的5个关键步骤

本文详细解析了在Windows系统下安装Python地理空间分析库geopandas时,如何有效解决其核心依赖GDAL的编译难题。文章提供了五个关键步骤,包括理解依赖关系、获取预编译wheel文件、顺序安装及环境验证,旨在帮助用户绕过复杂的C++编译环境,顺利完成geopandas的安装部署。

weixin_28221501的博客 284

搭建Java集成开发环境IntelliJ IDEA

package net.huawei.p01.t02;/** * 功能:输出一条信息 * 作者:华卫 * 日期:2022年03月24日 */ public class HelloWorld { public static void main(String[] args) { // arguments System.out.println("Hello Java World~"); } }

qq_67308063的博客 475

超像素学习笔记(1)——概念及判别条件

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、超像素的概念二、超像素判别条件:一般参考三个指标1.Undersegmentation Error(UE)——欠分割误差2.Boundary Recall(Rec)——边界召回率3.Compactness(CO)——紧凑性4.其他指标参考文献 前言 本文主要介绍超像素的概念及判别条件。 一、超像素的概念 定义:超像素是由一系列位置相邻且颜色、亮度、纹理等特征相似的像素点组成的小区域。它利用像素之间特征的相似性将像素分.

weixin_49818157的博客 6870

使用Xpath语法爬取豆瓣读书Top250

使用Xpath语法爬取豆瓣读书Top250 使用的软件是Spyder 网页地址:https://book.douban.com/top250?start=0 直接上代码: # -*- coding: utf-8 -*- """ Created on Thu Apr 30 18:35:17 2020 @author: ASUS """ import requests import csv fr...

weixin_43987253的博客 2081

【CV\segmentation】基于Voronoi图的超像素分割及其在 [点标注] 弱监督学习中的应用 || 学习笔记

基于Voronoi图的超像素分割

linjoe99的博客 1626

【Elasticsearch专栏 16】深入探索:Elasticsearch的Master选举机制及其影响因素分析

Elasticsearch的Master选举机制是其分布式架构的基石,确保集群高可用性和数据一致性。通过多数派协议,节点间交换信息并投票选举Master,以维护集群状态和处理请求。该机制自动处理故障转移,保障服务连续性。

weixin_40736233的博客 1774

【WRF-Chem Emissions教程第一期】WRF-Chem 排放概述

WRF-Chem 排放概述

WW、forever的博客 852

Python实现超像素分割

目录一、什么是超像素?二、超像素具有哪些特点?三、Simple Linear Iterative Clustering (SLIC)算法实现步骤四、SLIC算法代码实现五、效果展示和分析六、基于超像素的边缘检测代码七、基于超像素的边缘检测效果展示与分析八、思维扩展参考资料注意事项 一、什么是超像素?   超像素概念是2003年Xiaofeng Ren提出和发展起来的图像分割技术,它是指具有相似纹理...

WZZ18191171661的博客 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

超像素分割算法————综述

超像素分割算法

cocapop的博客 5746

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

SLIC超像素算法

文章目录一、前言二、现有的超像素算法2.1 基于图的算法2.2 基于梯度上升的方法三、SLIC超像素3.1 算法详解3.2 距离测量2.3 后处理2.4 时间复杂度 一、前言 源码下载:https://www.epfl.ch/labs/ivrl/superpixels/ 超像素是把一张图片中具有相似特征的像素进行聚类,形成一个更具有代表性的大“像素”。这个新的像素可以作为其他图像处理算法的基本单位...

红叶谷 wsp_1138886114的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

超像素分割与超像素合并/区域合并/多尺度分割

最近两年,超像素分割

Guzenyel的专栏 3万+

图像分割-超像素

超像素由一系列位置相邻且颜色、亮度、纹理等特征相似的像素点组成的小区域。这些小区域大多保留了进一步进行图像分割的有效信息,且一般不会破坏图像中物体的边界信息。超像素是将一幅像素级(pixel-level)的图,划分成区域级(district-level)的图,是对基本信息元素进行的抽象。超像素最大的功能之一是作为图像处理其他算法的预处理,在不牺牲太大精确度的情况下降维。超像素最直观的解释是把一些具有相似特性的像素“聚合”起来,形成一个更具有代表性的大“元素”。

m0_48980912的博客 1919

superpixels(超像素)

superpixels(超像素) 1.理解: 超像素不是在普通的像素基础上继续微观细分,超像素是一系列像素的集合,这些像素具有类似的颜色、纹理等特征,距离也比较近。其中超像素比较常用的一种方法是SLIC Semantic Segmentation(语义分割):把图像中每个像素赋予一个类别标签(比如汽车、建筑、地面、天空等),比如把图像分为了草地(浅绿)、人(红色)、树木(深绿)、天空(蓝色)等标签,用不同的颜色来表示。 Instance Segmentation(实例分割):有点类似于物体检测,不过物体检

h1239757443的博客 8515

模糊超像素(FS)用于分类

一. 研究现状 极化合成孔径雷达(极化SAR)能在全天时全天候的条件下提供卫星遥感图像信息。针对极化SAR图像的分类是计算机视觉应用的一个主要方向。由于电磁波在不同的偏振状态下发送和接收信息,因此相比于SAR图像,极化SAR图像包含更多的可用信息。然而,由相干成像机制引起的斑点噪声以及极化SAR图像复杂的存储格式严重影响了极化SAR图像的理解与解译。目前,针对极化SAR图像提出了很多图像处理技术。...

李滚滚的博客 2857

超像素SLIC算法源码阅读

超像素SLIC算法源码阅读超像素SLIC算法源码阅读SLIC简介源码阅读实验结果 超像素SLIC算法源码阅读 SLIC简介 SLIC的全称Simple Linear Iterative Clustering,即简单线性迭代聚类,论文和代码链接如下: 论文传送门:SLIC Superpixels Comparedto State-of-the-Art Superpixel Methods 代码传送门...

weixin_44580210的博客 4362

超像素分割(Slic算法)——个人梳理

我在进行乳腺癌图像识别的学校项目中,参考了山东大学的硕士论文,并希望加以简化复现,此论文会在文末附上。项目要求我们需要对乳腺癌图片进行分类(无肿瘤,良性肿瘤,恶性肿瘤),参照论文所说,我们需要将乳腺图片分割成以超像素为单位的像素块,并以每一个超像素块为单位进行后续操作,在此我整理一下我在使用slic算法来进行超像素分割的一些经验感受,以便后来复盘回溯。

m0_54457144的博客 3887
上一篇: OpenCV—学习笔记
下一篇: 图像处理基础—学习笔记
studyeboy
博客等级 码龄15年 365粉丝 329原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值