一、面向应用:层层分解、抓住要点

我们学习数字图像处理的最终目的还是应用,不管是用它来研制产品还是研发项目抑或是研究课题,都要用数字图像处理的理论、方法和技术来解决实际问题。在此过程中,提高效率是非常重要的,因此,我们在实际应用过程中要面向需求,结合实际;将问题层层分解,理清解决思路;抓住其要害,集中力量进行突破,切忌眉毛胡子一把抓。

下面就结合笔者所研究过的一个课题进行详细说明。

任务要求:一台智能移动机器人上配备有单目可见光视觉传感器,要求通过该视觉传感器采集的视频序列图像,实现在复杂环境下实现对纹理清晰的特定目标的实时跟踪。

(注:该问题的解决应从硬件和软件两个方面进行考虑,对硬件的选择、设计和搭建超出了本文所讨论的内容,因此,本文仅从数字图像处理方法的角度进行分析)

分析讨论:

(1)任务分解:通过对任务要求进行分析可知,该任务的核心是“目标识别跟踪”;在此基础上有两个约束条件:“复杂环境下”和“实时性”;方法实现的平台是“移动机器人”。任务的核心——“目标识别跟踪”是我们所需要解决的难点和重点;约束条件1“复杂环境下”则要求我们对所采集的图像进行去噪预处理;约束条件2“实时性”也是需要解决的问题,这就要求我们尽可能地降低各种算法的运算复杂度;由于实现平台“移动机器人”在行进过程中采集的视频图像存在抖动现象,因此,在对采集的图像进行去噪后需要对其进行增稳处理。通过初步分解,我们就得到了任务中所要解决的问题以及大致流程(如图1所示)。

图1  任务分解及流程

(2)难点分解:本任务的难点是“目标识别跟踪”。之所以称其为难点,是对目标的识别和跟踪过程中,存在视觉传感器与目标物体的相对运动,因而,目标在图像中存在着尺度变化、旋转变化、视角变化、照度变化以及局部遮挡,这给目标识别和跟踪带来了挑战。我们常用的目标识别与跟踪算法有:基于帧间差分的目标识别与跟踪法、基于光流的目标识别与跟踪法、基于模板匹配的目标识别与跟踪法、基于颜色的目标识别与跟踪法、基于特征点的目标识别与跟踪法。考虑到每种方法的特点以及待跟踪目标具有清晰的纹理,我们可以采用基于特征点的目标识别与跟踪法,更进一步地说,我们应采用尺度不变特征点(SIFT)作为识别与跟踪的特征,因为尺度不变特征点对尺度变化、旋转变换、视角变化、照度变化和局部遮挡具有鲁棒性。同时,我们希望目标识别和跟踪算法具有良好的实时性,因而,可以考虑PCA-SIFT和SURF特征点作为目标特征。此外,由于视频序列相邻图像之间存在相关性,目标在相邻帧之间不会有剧烈的变换,因而,可采用隔帧搜索法对目标进行检测并用Kalman滤波或粒子滤波对目标的轨迹进行预测。难点分解的过程如图2所示。

图2  难点分解过程

(3)算法分解:经过任务分解和难点分解后,我们已经对任务的实现步骤和每个步骤所需的算法有了一个清晰的了解。在此之后,我们还需对每一个具体的算法进行分解,形成实现步骤,以便于后续的研究以及模块化分工实现。

二、面向学习:追根溯源、比较总结

在数字图像处理中,很多算法是一脉相承或有着密切联系的,搞清楚这些来龙去脉以及相互联系,有利于我们加强对算法的理解以及改进创新。

那么,如何把握这些联系呢?我认为,首先得清楚每种算法的提出背景,也就是“这种算法为什么会被提出”或是“这种算法是针对什么问题而提出的”。就拿数字图像变换中的内容为例,我们是从图像的空间变换讲起的,但是空间变换无法反映图像的频率分布信息,随着傅里叶变换的诞生,这一问题得到了解决,傅里叶变换也被研究者誉为是“图像处理的第二种语言”。正在人们为之欢心鼓舞之时,研究者有发现傅里叶变换也存在着不足,它在空域上无任何分辨,不能作局部分析。针对于此,D.Gabor 于1946年提出了加窗傅里叶变换,也就是著名的Gabor变换,它通过引入一个时间局部化“窗函数”改进了傅里叶变换的不足,但其窗口大小和形状都是固定的,没有从根本上弥补傅里叶变换的缺陷。小波变换的提出从根本上解决了这一难题,它有一个灵活可变的时间—频率窗,能有效地从信号中提取信息,通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析,“数学显微镜”的美誉也因此得来。如果我们能够把这些联系梳理清楚,那么,我们在学习小波变换时就会豁然开朗,游刃有余。难道小波变换就那么完美吗?答案当然是否定的,当前有很多算法就如何提高小波变换的效能提出了改进。按照上述的“联系”方式,就不难建立起完备的知识体系。

图3  图像分析联系示意图

谈过了“追根溯源”,我们再来聊聊“比较总结”。我们以图像的边缘检测为例来进行说明。每一种方法都能实现边缘检测,但对于同一幅图像,每一种边缘检测方法的效果又不尽相同。这是为什么呢?原来,每一种边缘检测的方法都有自己优点和不足,都有自己特定的应用背景。我们不妨对其进行列表比较(如表1所示)。

表1  边缘检测算子比较

名  称

特    点

基于一阶微分算子检测边缘

运算简单,但对噪声敏感

基于LOG算子检测边缘

边缘保留较为完整、定位准确、抗干扰能力强

基于 Canny算子检测边缘

抗干扰能力强,边缘连续性好

基于SUSAN算子检测边缘

抗噪声能力好、运算量小,速度快

对各种边缘检测算子进行比较后,它们各自的特点便一目了然,在何种情况下运用哪种边缘检测算子效果最佳便做到了心中有数。

在比较完各种边缘检测算子的“个性”之后,我们不妨再来总结一下它们的“共性”。尽管边缘检测的方法林林总总,但各种方法的共同目的就是要检测出图像灰度变化剧烈的区域。从数学的角度来看,就是对数字图像进行差分;从信号处理角度看,就是用高通滤波器来保留高频信号。

学习的过程讲究循序渐进,温故知新,当然,对数字图像处理技术的学习也不例外。但是,数字图像处理技术又有自身的特点:理论深、角度广、更新快,因此,良好的学习方法可以使数字图像处理的学习事半功倍。在学习数字图像处理技术时,读者不妨尝试着去追根溯源、比较总结,相信定会受益匪浅。

本文转自:http://xiaozu.renren.com/xiaozu/252226/335693784

学习数字图像处理经验谈相关推荐

  1. matlab对于处理数字图像的优点,学习MATLAB数字图像处理经验谈

    学习MATLAB数字图像处理经验谈 学习数字图像处理经验谈 (赵小川) 一.面向应用:层层分解.抓住要点 我们学习数字图像处理的最终目的还是应用,不管是用它来研制产品还是研发项目抑或是研究课题,都要用 ...

  2. 系统学习数字图像处理之目标识别

    模式:描绘子组合,即特征.x = (x1,x2,...xn)T. •模式类:共享某些属性的模式族 •常见模式组合: 向量.串和树 •类型可分离的程度的高低很大程度上取决于应用的描绘子的选择 两大模式识 ...

  3. 系统学习数字图像处理之频域滤波

    最近在看模板匹配,虽然很简单,但还是想认真过下基础,因此把信号处理频域相关的内容,接着图像处理再过一遍. 理论上,对连续变量t的连续函数f(t)的傅里叶变换为F(u),利用f(t)取样后的函数重建f( ...

  4. 系统学习数字图像处理之形态学分析补充(灰度级处理)

     一 基本概念 所谓的灰度级膨胀和腐蚀即将而知图像的二值形态学运算推广到灰度图像上.对于一幅图像的腐蚀(膨胀)运算定义为对每个像素赋值为某个领域内输入图像灰度级的最小(或最大值).在二值变换中的结 ...

  5. paper 108:系统学习数字图像处理之图像复原与重建

    首先,必须注意这里所限制的处理条件. 关于图像退化/复原模型 退化的图像是由成像系统的退化加上额外的噪声形成的. 1.只考虑噪声引起的退化 噪声模型,包含于空间不相关和相关两种,除了空间周期噪声,这里 ...

  6. 系统学习数字图像处理之图像压缩

    1.霍夫曼编码 霍夫曼编码的基本思想:输入一个待编码的串,首先统计串中各字符出现的次数,称之为频次,假设统计频次的数组为count[],则霍夫曼编码每次找出count数组中的值最小的两个分别作为左右孩 ...

  7. 系统学习数字图像处理之图像复原与重建

    首先,必须注意这里所限制的处理条件. 关于图像退化/复原模型 退化的图像是由成像系统的退化加上额外的噪声形成的. 1.只考虑噪声引起的退化 噪声模型,包含于空间不相关和相关两种,除了空间周期噪声,这里 ...

  8. 系统学习数字图像处理之描绘子

    图像分割结果是得到了区域内像素集合,或位于区域边界上的像素集合. 把图像分割后,为了进一步的识别等处理,分割后的图像一般要进行表示和描述. 表示是直接具体地表示目标,好的表示方法应具有节省存储空间.易 ...

  9. 系统学习数字图像处理之图像分割

    图像分割,有区域法,直接确定边界,边缘检测法,大多数算法基于灰度的不连续性(边缘检测)和相似性(阈值处理,区域生长,区域分裂,区域聚合). 边缘分类:台阶边缘,斜坡边缘,屋顶边缘,一阶导数会产生粗边缘 ...

最新文章

  1. SpringCloud确保服务只能通过gateway转发访问,禁止直接调用接口访问
  2. JavaScript社区开发者调查:服务端JS盛行 AngularJS使用者最多
  3. 我做SAP CRM One Order redesign的一些心得体会
  4. .net Core2.2 WebApi通过OAuth2.0实现微信登录
  5. Xcode中捕获iphone/ipad/ipod手机摄像头的实时视频数据
  6. android将拍摄的图片存入sd卡中,Android将图片保存至SD卡上
  7. 使用mybatis的resultMap进行复杂查询
  8. 挑战程序设计竞赛2:算法与数据结构(电子书与代码)
  9. 【读书笔记】大数据之路:阿里巴巴大数据实践
  10. matlab中功率因数怎样测量,如何测量功率因数?功率因数测量方法
  11. 数据库系统概论--第六章 关系数据理论
  12. 计算机del键作用,计算机里的英文字母“DEL”键是干什么用的
  13. 全国计算机二级下次报名时间,全国计算机二级考试报名时间
  14. 出现无法访问的故障,ping出现请求超时time out,系目的主机网关造成问题排查过程
  15. 《三》kubectl命令行管理工具、YAML配置详解
  16. 应聘/求职----北京IT公司红黑榜TOP100
  17. 【转载】论文写作总结(N个SCI期刊主编写作论文之精华汇集)
  18. wasp模型建模经验
  19. 深度学习-TextCNN网络(简单了解TextCNN网络构建过程)
  20. android5.1远程升级,Android 5.1中FOTA升级APN的方法

热门文章

  1. html js停止计时,用 js 写的计时器,暂停计时无法生效
  2. array(2019CCPC网络预选赛 hdu6703主席树+set)主席树求大于等于k的最小值
  3. java 事务的提出者_java中什么是事务
  4. 【OS】进程同步概念
  5. 【计算机组成原理】定点除法运算
  6. python删除字符_Python之删除字符串中不需要的字符
  7. excel表格怎么调整行高和列宽_8个实用Excel小技巧,谁用谁说好
  8. 把学单片机过程中遇到的问题与大家分享
  9. python3(十四)Python 异常处理
  10. 美团脱颖而出的经验_使数据科学项目脱颖而出的6种方法