图像分割算法及与目标检测、目标识别、目标跟踪的关系
本篇主要汇总一下图像分割领域的一些常用方法及其优缺点。
图像分割概述:
图像分割是指将一幅图像分成若干互不重叠的子区域,使得每个子区域具有一定的相似性、而不同子区域有较为明显的差异。图像分割是图像识别、场景理解、物体检测等任务的基础预处理工作。常用的图像分割方法有:基于阈值的分割;基于边缘的分割;基于区域的分割;基于图论的分割;基于能量泛函的分割;基于小波的分割;基于神经网络的分割等。
基于阈值的分割:
阈值分割直接对图像灰度信息阈值化处理,用一个或几个阈值将图像灰度直方图进行分类,将灰度值在同一个灰度类内的像素归为同一个物体。直接利用图像灰度特性进行分割,实现简单、实用性强;但是当图像灰度差异不明显、或各物体的灰度范围值有大部分重叠现象时,难以得到准确的分割结果。
常见的基于阈值的分割方法有:固定阈值分割,直方图双峰法,OTSU法等,可参见博客。
基于边缘的分割方法:
基于区域的分割方法:
基于区域的分割方法考虑图像的空间信息,如图像灰度、纹理、颜色和像素统计特性等,按照特征相似性将目标对象划分为不同区域。常见的区域分割方法有:区域生长法、分裂合并法和分水岭分割方法。
区域生长法的基本思想是:根据一定的相似性原则,满足这一原则的像素合并起来构成区域,关键点是生长种子和生长准则的选取;而分裂合并法恰恰相反,从整个图像开始分裂,后合并得到各个区域;分水岭分割方法是基于拓扑理论的数学形态学分割方法,基本思想是将图像看作测地学上的拓扑地貌,像素的灰度值表示该点的海拔,一个局部极小值及其影响区域称为集水盆,集水盆的边界则形成分水岭。
基于图论的分割方法:
基于图论的方法是一种自顶向下的全局分割方法,主要思想是将整幅图像映射为一幅带权无向图 G=(V,E), V是顶点的集合,E是边的集合,每个像素对应图中一个顶点,像素之间的相邻关系对应图的边,像素特征之间的相似性或差异性表示为边的权值。将图像分割问题转换成图的划分问题,通过对目标函数的最优化求解,完成图像分割过程。
基于图论的分割方法有:Normalized Cuts算法,Graph Cuts算法,Superpixel lattice算法等,可以参见博客1,博客2
基于能量泛函的分割方法:
该类方法主要是在主动轮廓模型(active contour model)基础上发展出来的算法,其基本思想是使用连续曲线表示目标边缘,并定义一个能量泛函使其自变量包括边缘曲线,将分割过程转变为求解能量泛函最小值的过程。
基于小波的分割方法:
在图像分割中,波变换是一种多尺度多通道分析工具,较适合对图像进行多尺度边缘检测。小波变换的极大值点对应于信号的突变点,在二维空间中,小波变换适用于检测图像的局部奇异性,通过检测极大值点来确定图像的边缘。图像边缘和噪声在不同尺度上具有不同的特性,在不同的尺度上检测到的边缘,在定位精度与抗噪性能上是互补的。在大尺度上,边缘比较稳定,噪声不敏感,但由于采样移位的影响,边缘的定位精度较差;在小尺度上,边缘细节信息比较丰富,边缘定位精度较高,但对噪声比较敏感。因此,多尺度边缘提取可以综合两者的优势。
基于神经网络的分割方法:
基于神经网络分割方法的基本思想是:通过训练多层感知机来得到线性决策函数,后用决策函数对象素进行分类来达到分割的目的。当前,深度学习如火如荼,基于深度神经网络的图像分割方法也不断涌现。具体可参见参考4和参考5.
目标分割、目标识别、目标检测和目标跟踪之间的关系:
典型的技术路线是:目标分割 ——>目标检测 ——>目标识别 ——>目标跟踪
(1)目标分割,Target Segmentation,data/image segmentation的一种。
假定数据是图像,任务是把目标分割出来。对于一般的光学图像,是要提取哪一些像素是用于表述目标的。问题可以看成是分类问题,即把每一个像素标签化,找出感兴趣的那一类标签对应的像素;也可以是聚类问题,即不知道像素的标签,但通过某些特征可以对像素进行分类区分开。
(2)目标识别,Target Recognition。
这是一个基于分类的识别问题,即在所有的给定数据中,找出哪些是目标。这个分类的层面往往不是针对像素,而是给定的一些分类,或定义的对象,或图像本身。
(3)目标检测,Target Detection。
以雷达检测系统为例,需要从随机又充满干扰和噪音的信号中,找到有信息的特征。最简单的方式是对一段雷达回波设置阈值,高于阈值的部分认为是探测到了高速大面积飞行器之类的高回波目标。
(4)目标追踪,Target Tracking。
这个任务涉及的数据一般是时间序列,完成这个任务首先要目标定位。常见的情况是目标被定位以后,算法需要在后面的序列数据中,快速高效地对目标进行再定位。为了避免不必要的重复计算,可以充分利用时间序列的相关性,可能涉及到一些几何变换(旋转,缩放等),运动伪影处理等问题。
参考:
- 《图像分割方法及性能评价综述》[J]
- 《图像分割方法综述研究》[J]计算机应用研究
- 图像分割 传统方法 整理
- 三年来,CNN在图像分割领域经历了怎样的技术变革?
- CNN在基于弱监督学习的图像分割中的应用
- 图像识别中,目标分割、目标识别、目标检测和目标跟踪这几个方面区别是什么?
- 计算机视觉中,目前有哪些经典的目标跟踪算法?
图像分割算法及与目标检测、目标识别、目标跟踪的关系相关推荐
- DL之MaskR-CNN:基于类MaskR-CNN算法(RetinaNet+mask head)利用数据集(resnet50_coco_v0.2.0.h5)实现目标检测和目标图像分割(语义分割)
DL之MaskR-CNN:基于类MaskR-CNN算法(RetinaNet+mask head)利用数据集(resnet50_coco_v0.2.0.h5)实现目标检测和目标图像分割(语义分割) 目录 ...
- 计算机视觉六大技术:图像分类、目标检测、目标跟踪、语义分割、实例分割、影像重建..
计算机视觉是使用计算机及相关设备对生物视觉的一种模拟.它的主要任务就是通过对采集的图片或视频进行处理以获得相应场景的三维信息,就像人类和许多其他类生物每天所做的那样. 计算机视觉既是工程领域,也是科学 ...
- 计算机视频追踪方向,移动目标检测和视频跟踪系统
摘要:本文详细地探讨了基于视频的移动目标检测和视频跟踪技术,并给出了一个成功的应用实例.文中详细地论述了视频跟踪系统的系统组成,模块结构和视觉计算流程:给出了实现该系统所涉及的关键技术. 关键词:运动 ...
- 利用红外-可见光图像数据集OTCBVS打通图像融合、目标检测和目标跟踪
文章目录 前言 一.任务概述 二.常见红外-可见光图像数据集 2.1 OTCBVS 2.2 TNO image fusion dataset 2.3 INO image fusion dataset ...
- 安卓目标检测,目标跟踪,人流量计数
先看效果, 推理时间不到30ms. 大多数目标检测,目标追踪网络模型部署在终端,用的Python,CUDA环境,只能参考流程,案例Python环境下实现的人流量计数,代码跑跑,效果如下 根据这个案例, ...
- [初窥目标检测]——《目标检测学习笔记(2):浅析Selective Search论文——“Selective Search for object recognition”》
[初窥目标检测]--<目标检测学习笔记(2):浅析Selective Search论文--Selective Search for object recognition> 本文介绍 前文我 ...
- python ssd目标检测_目标检测算法之SSD的数据增强策略
前言 这篇文章是对前面<目标检测算法之SSD代码解析>,推文地址如下:点这里的补充.主要介绍SSD的数据增强策略,把这篇文章和代码解析的文章放在一起学最好不过啦.本节解析的仍然是上篇SSD ...
- 图像识别中——目标分割、目标识别、目标检测和目标跟踪的区别
计算机视觉旨在识别和理解图像/视频中的内容,包含四大基本任务:分类(图a).定位.检测(图b).语义分割(图c).和实例分割(图d). 这四个任务需要对图像的理解逐步深入.给定一张输入图像, 图像分类 ...
- [人工智能-深度学习-67]:目标检测 - 常见目标检测算法大汇总
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...
- 目标检测、目标分割:常用框架与流程(流程包括:数据集标注与格式预处理、训练与推理、训练优化、算法代码以及原理)
1.目标检测(矩形框): ①常用模型YOLO5: 1°入门使用,具体见这篇博客 YOLOv5训练自己的数据集(超详细完整版)_深度学习菜鸟的博客-CSDN博客_yolov5训练自己的数据 (补充说明: ...
最新文章
- Java新手小程序之三
- 深入浅出 Java 中 JVM 内存管理
- python中with学习
- boost::mpl模块实现index_of相关的测试程序
- git拉取分支报错:fatal:‘XXX' is not a commit and a branch ‘XXX' cannot be created from
- spring boot 入门-使用spring boot构建简单应用
- SHOI2009 会场预约
- 16款测序平台性能大PK,华大表现不俗!基于人类和细菌基因组DNA水平的多平台测序数据研究成果发布...
- linux 拷机软件,拷机软件跑起来,OS X平台下OpenGL初体验
- mac设置多个屏幕显示的问题
- 小米网络信号测试软件,WiFi测速
- cmd 复制文件语法不正确
- intelliJ IDEA 2017 破解方法
- 【硬件通信协议】2. 详细解析SPI通信协议(标准4线SPI)
- Typora使用简介与插入数学公式
- 多进程爬取Unsplash网站图片
- SCU-3968 Mowing the Lawn(DP+单调队列)
- c语言千位分隔符代码if函数,JavaScript实现千位分隔符
- 文本文件和二进制文件的区别和联系
- 如何重装oracle数据库,oracle数据库的重装
热门文章
- WC2013 糖果公园
- 使用异步存储提升 Web 应用程序的离线体验
- 【JAVA】在jar文件中引用图片等外部资源的问题
- Windows Phone 8初学者开发—第9部分:Windows Phone 8模拟器概述
- Node.js格式化输出json文件
- 那些在开发中用到的正则表达式
- WinForm PictureBox删除图片重新加载,显示System.IO.IOException:文件“**.png”正由另一进程使用,因此该进程无法访问此文件
- 27. 二叉搜索树与双向链表(C++版本)
- Centos7---1708 Linux上安装ZooKeeper 以及JDK1.8安装
- 阴阳师哪些服务器可以跨系统转移,阴阳师跨系统转服方法介绍 怎么跨系统转服...