
图像分割是计算机视觉的一个基本方面,多年来经历了巨大的转变。这将是一系列三篇博客文章,深入研究三种不同的图像分割技术 - 1使用OpenCV的经典分水岭算法,2使用PyTorch实现的基于深度学习的UNet模型,3 SOTA图像分割模型。同时,这部分重点介绍分水岭算法及其使用 OpenCV 的实现。在下一部分中,我们还将在人类分割数据集上训练UNet模型,展示基于深度学习的技术的强大功能和适用性。
图像分割涉及将图像分区为多个段或区域,每个段或区域包含一组像素。最终目标是将图像的表示简化或修改为更有意义的内容,从而使其更易于分析。这些技术已广泛应用于从图像中的物体识别到医学成像诊断的众多应用中。
在传统的图像分割方法领域,分水岭算法占有重要地位。该算法将图像可视化为地形景观,在图像内生成“集水盆地”和“分水岭线”以隔离不同的对象。以简化的方式,任何灰度影像都可以被视为地形表面,其中高强度表示山峰和丘陵,而低强度表示山谷。
尽管在概念上易于理解和有效,但分水岭算法有时会导致过度分割,即对象被分成许多段。但是,微调算法并添加预处理步骤可以提高算法的性能。