Segmentation: A SLIC Superpixel Tutorial using Python

What’s a Superpixel?

图像其实就是一组像素的排列,不管是灰度图还是彩色图。通常单一的像素点并不能展示出太多有意义的信息。所以研究人员考虑将局部像素点进行一个聚类操作,于是就有了superpixel这一概念。相较于单一的像素点,superpixel携带了更多的语义及视觉信息。

Benefits of Superpixels

  1. Computational efficiency: 虽然计算实际的超像素组有可能产生大的计算量,但它能够将图像自身的复杂度从数十万像素降低到只有几百个超像素。这些超像素中的每一个都将包含某种感知上的,以及我们需要的语义价值。
  2. Perceptual meaningfulness: 与仅考察图片中的单个像素(感知意义非常小)不同,同一个超像素组的像素具有某种共同性,例如相似的颜色或纹理分布。
  3. Oversegmentation: 大多数超像素算法基本上都会过分割。这意味着图像中的大部分重要边界都被找到了;同时也产生了许多不重要的细分边界。虽然这可能听起来像是超像素的一个问题,但实际上这是一个积极的因素 – 超像素的结果是从图片到超像素的映射关系。Oversegmentation is the process by which the objects being segmented from the background are themselves segmented or fractured into subcomponents.
  4. Graphs over superpixels: Dr. Ren将这个概念称为“高效的表示”。更具体一些,可以想象在50,000 x 50,000像素网格上构建一个图形,其中每个像素代表图中的一个节点 – 这会导致数据表示量很大。但是,假设我们将超像素应用于像素网格空间,留下了一个(任意的)200个超像素。在这个表示中,在200个超像素上构建一个图形实际上更有效。

Applying SLIC superpixel segmentation to generate 100 superpixels using Python.

具体代码实现:

Segmentation: A SLIC Superpixel Tutorial using Python

发表评论

电子邮件地址不会被公开。 必填项已用*标注