(信号与信息处理专业论文)基于构件的印刷品缺陷检测机器视觉系统软件开发研究.pdf_第1页
(信号与信息处理专业论文)基于构件的印刷品缺陷检测机器视觉系统软件开发研究.pdf_第2页
(信号与信息处理专业论文)基于构件的印刷品缺陷检测机器视觉系统软件开发研究.pdf_第3页
(信号与信息处理专业论文)基于构件的印刷品缺陷检测机器视觉系统软件开发研究.pdf_第4页
(信号与信息处理专业论文)基于构件的印刷品缺陷检测机器视觉系统软件开发研究.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 基于构件的印刷品缺陷检测机器视觉系统 软件开发研究 学科名称:信号与信息处理答辩日期:呈星! 至:望 作者姓名:冯江 导师姓名:张二虎教授 摘要 签 签名: 近年来,随着计算机及图像处理技术的发展,机器视觉技术在工业在线检测中的应用逐渐广泛, 利用机器视觉技术来进行印刷品缺陷的自动检测己切实可行。机器视觉软件是进行基于机器视觉的检 测工作必不可少的软件工具。当前,国外机器视觉软件虽然功能较强,但是购买费用很高,不是一般 研究人员或单位所能承担,同时,由于不知道源代码,维护起来比较困难。有必要采片 全新的软件开 发技术,开发具有特色、方便使用、容易集成新的图像处理方法的机器视觉软件系统。 本文引入构件技术,提出了基于构件的机器视觉软件开发方法,以印刷品缺陷检测系统为例,以 v i s u a lc + + 6 0 为软件平台,设计了一套基丁构件的印刷品缺陷检测机器视觉软件。结果表明,采用基 于构件的软件开发技术,可以节省开发成本,提高软件开发的速度,减少开发的重复劳动和重复投入, 减少软件的维护费用。 在开发机器视觉软件算法的过程中,本文对图像匹配和b l o b 分析算法进行了研究。提出一种改 进的h a r r i s 角点检测方法,并用一种稳定性评价准则测试,证明了本文算子在工业环境下的优越性。 建立仿射变换模型来近似相应特征点邻域的几何变换,用确定性退火方法计算模型参数,避免了耗时 的穷举搜索。利用r a n s a c 方法鲁棒地估计基本矩阵和单应矩阵,建立对极几何约束和单应约束来 剔除初始匹配中的误匹配对;提出一种基于连通区域标记的快速b l o b 分析方法,算法使用游程链表 和动态数组的方法,只需扫描图像一次,并且无需建立等价表和进行等价标记合并,解决了现有算法 中的标记冗余现象。另外,算法还能够标记连通区域中的内洞。实验结果表明,该算法对于任意复杂 形状、任意数目的b l o b 区域都能正确检测并计算参数,并且具有很快的速度和很好的稳定性。 关键词:机器视觉,缺陷检测,构件,特征点,图像匹配,b l o b 分析 本研究得到陕西省教育厅自然科学研究计划项目( 0 7 j 邸5 6 ) 的资助。 a b s t r a c t r e s e a r c ho np r i n t e dm a t t e r d e f e c td e t e c t i o n s o f t w a r ed e v e l o p m e n tb a s e do n a u t h o r : f e n gj i a n g d i r e c t o r :z h a n ge r - h u a b s t r a c t m a c h i n ev i s i o ns y s t e m c o m p o n e n t s i g n a t u r e :j f 驾巫z s - 呷t u r e - 凶匈 w i t ht h ed e v e l o p m e n to fc o m p u t e rs o f t w a r ea n dh a r d w a r ea n di m a g ep r o c e s s i n gt e c h n o l o g y , m a c h i n e v i s i o nt e c h n o l o g yi sw i d e l yu s e di nt h eo n - l i n ei n s p e c t i o ns y s t e mi nt h ei n d u s t r yf i e l d w h i l ea na u t o m a t i c d e t e c t i o nm e t h o df o rp r i n t e dm a t t e rb a s e do nm a c h i n ev i s i o nb e c o m e sf e a s i b l e m a c h i n ev i s i o ns o r w a r ei s a ne s s e n t i a ls o f t w a r et o o li nt h ec o u r s eo fi n s p e c t i n gb a s e do nm a c h i n ev i s i o n a tp r e s e n t ,f o r e i g ns o f t w a r ei s p e r f o r m i n gt h em o r ee f f e c t i v ef u n c t i o n ,b u ti tu s u a l l yc o s t st o om u c h ,f e wr e s e a r c hs t a f f so ri n s t i t u t e sc o u l d a f f o r dt ob u y , a n db e c a u s eo f n o tk n o w i n gt h es o u r c ec o d e s ,m a i n t e n a n c eb e c o m e sd i f f i c u l t s oi ti sn e c e s s a r y t oa p p l yac o m p l e t e l yn e ws o f t w a r ed e v e l o p i n gt e c h n i q u et od e v e l o pak i n d o fs o f t w a r es y s t e mw i t h c h a r a c t e r i s t i c so fc o n v e n i e n c eo fu s e ,m o r el i k e l yt ob ec o m b i n e dw i t hs o m en e ww a yo fi m a g ep r o c e s s i n g i nt h i sp a p e r , t h ea u t h o rp r e s e n t e dt h em a c h i n ev i s i o ns o f t w a r ed e v e l o p m e n tm e t h o db a s e do nc o m p o n e n t , t a k i n gt h ee x a m p l eo ft h ed e f e c td e t e c t i o ns y s t e mf o rp r i n t e dm a t t e ra n du s i n gt h ep l a t f o r mo fv i s u a lc + + 6 0 , d e s i g n e dp r i n t e dm a t t e rd e f e c td e t e c t i o nm a c h i n ev i s i o ns o f t w a r eb a s e do nc o m p o n e n t r e c u l t ss h o w e dt h a t t h ea d o p t i o no fs o r w a r ed e v e l o p i n gt e c h n i q u eb a s e do nc o m p o n e n tc o u l dr e d u c ed e v e l o p i n gc o s t ,s p e e du p t h ew h o l ep r o c e s so f d e v e l o p i n g ,d e c r e a s er e p e t i t i v el a b o ra n di n p u t ,l o w e rs o f t w a r em a i n t e n a n c ec o s t i nt h ep r o c e s so fd e v e l o p i n gt h ea l g o r i t h mo fm a c h i n ev i s i o ns o f t w a r e ,i m a g em a t c h i n ga n db l o ba n a l y s i s a l g o r i t h mw e r er e s e a r c h e d a ni m p r o v e dh a r r i sc o m e rd e t e c t i o nm e t h o dw a sp r o p o s e da n dt e s t i f i e db ya s t a b i l i t ye v a l u a t i o nc r i t e r i a ,w h e r et h ep r o p o s e dd e t e c t o rw a sf o u n dt op e r f o r mw e l li ni n d u s t r i a le n v i r o n m e n t a na f f i n et r a n s f o r mm o d e lw a se s t a b l i s h e dt oa p p r o x i m a t et h eg e o m e t r i c a lc h a n g e sb e t w e e nt w ow i n d o w so f c o r r e s p o n d i n gf e a t u r e ,t h ep a r a m e t e r so ft h em o d e lw a sc o m p u t e db yd e t e r m i n i s t i ca n n e a l i n g ,i nt h i sw a y , t o a v o i dt i m e - c o n s u m i n ge x h a u s t i v es e a r c h e s t h ef u n d a m e n t a lm a t r i xa n dh o m o g r a p h ym a t r i xw e r ee s t i m a t e d r o b u s t l yw i t hr a n s a ca l g o r i t h m ,t h e ne p i p o l a ra n dh o m o g r a p h yc o n s t r a i n sw e r eu s e dt od e l e t et h ew r o n g c o r r e s p o n d e n c yo fi n i t i a lm a t c h i n g ;t h i sp a p e rp r e s e n t e d af a s ta l g o r i t h mf o rb l o ba n a l y s i sb a s e do n c o n n e c t e dc o m p o n e n t sl a b e l i n g ,t h ea l g o r i t h mu s e dt h em e t h o do fr n n - l i s t sa n dd y n a m i ca r r a y , p e r f o r m e dj u s t as i n g l es c a n ,n e e d n tt ob u i l de q u i v a l e n c e st a b l ea n dt ou n i t ee q u i v a l e n tl a b e l s ,i nt h i sw a y , r e s o l v e dl a b e l r e d u n d a n c i e si nc o n v e n t i o n a la l g o r i t h m s i na d d i t i o n ,t h ea l g o r i t h ma l s ol a b e l e dh o l e si nb l o b s e x p e r i m e n t s s h o w e dt h a tw i t hf a s t e rs p e e da n dg o o ds t a b i l i t y , i tc o u l dc o r r e c t l yd e t e c ta n yb l o br e g i o n sw i t hc o m p l i c a t e d s h a p e sa n dr a n d o mn u m b e r s ,a n dc o m p u t e db l o b sf e a t u r e s k e yw o r d s :m a c h i n ev i s i o n ,d e f e c td e t e c t i o n ,c o m p o n e n t ,f e a t u r ep o i n t ,i m a g em a t c h i n g ,b l o ba n a l y s i s l i 独创性声明 秉承祖国优良道德传统和学校的严谨学风郑重申明:本人所呈交的学位论文是我 个人在导师指导下进行的研究工作及取得的成果。尽我所知,除特别加以标注和致谢 的地方外,论文中不包含其他人的研究成果。与我一同工作的同志对本文所研究的工 作和成果的任何贡献均已在论文中作了明确的说明并已致谢。 本论文及其相关资料若有不实之处,由本人承担一切相关责任 论文作者签名: 二马丑 学位论文使用授权声明 d 汐年3 月2 7 日 本人在导师的指导下创作完成毕业论文。本人已通过论文的答辩, 并已经在西安理工大学申请博士硕士学位。本人作为学位论文著作权拥有者,同意 授权西安理工大学拥有学位论文的部分使用权,即:1 ) 已获学位的研究生按学校规定 提交印刷版和电子版学位论文,学校可以采用影印、缩印或其他复制手段保存研究生 上交的学位论文,可以将学位论文的全部或部分内容编入有关数据库进行检索;2 ) 为 教学和科研目的,学校可以将公开的学位论文或解密后的学位论文作为资料在图书馆、 资料室等场所或在校园网上供校内师生阅读、浏览。 本人学位论文全部或部分内容的公布( 包括刊登) 授权西安理工大学研究生部办 理。 ( 保密的学位论文在解密后,适用本授权说明) 论文作者签名:二鱼兰导师签名: 夕律弓月2 穸日 1 绪论 1 绪论 随着社会进步,人们对印刷品质量有了更高的要求。然而,在印刷过程中,由于印刷 工艺及机械精度等原因,印刷品常会出现这样或那样的缺陷。随着印刷速度的提高以及越 来越严格的质量要求,同时由于受主观因素的影响,传统的人工检测印刷品质量的方法已 不能保质保量的完成检测任务。突出表现在:需要检测的产品种类迅速增加,而许多新型 产品没有相应的在线检测方法;很多质量监控场合强调实时、在线和非接触检测,才能确 保对工业生产过程实现全面控制,提高生产效率和产品的合格率,而这是传统检测手段无 法提供的;此外现代产品的制造精度大大提高,也要求相应的高精度检测方法。 近年来,随着计算机及图像处理技术的发展,人们把计算机的快速性、可靠性、结果 的可重复性,与人类视觉的高度智能化和抽象能力相结合,产生了机器视觉“1 的概念。 机器视觉,采用电子成像和数字化系统,完成对事物影象的自动摄取、图像的自动分类及 辨识,并传输指令到运动机构,完成自动控制或是自动报警。通俗的说,机器视觉就是用 电子眼代替人眼、电脑代替人脑,通过自动成像和自动识别处理技术,来观测目标并对目 标进行测量和判断。机器视觉的特点是自动化、客观、非接触和高精度,与一般意义上的 图像处理系统相比,机器视觉强调的是精度和速度,以及工业现场下的可靠性。机器视觉 技术在工业在线检测中的应用逐渐广泛,利用机器视觉技术来进行印刷品缺陷的自动检测 已切实可行。 基于p c 的采用板卡和s d k 的机器视觉解决方案,因其s d k 变得越来越易用和开放, 成为机器视觉发展的重要方向。一个典型的p c b a s e d 机器视觉检测系统一般包括如下部 分:计算机、光源、镜头、c c d 照相机、高速图像采集卡、图像软件系统、监视器,通 讯输入输出单元和机械结构部分等,图像软件系统成为整个机器视觉系统的灵魂,将机 器视觉的底层算法进行模块化封装,对机器视觉的处理过程进行流程化的设计,使得整个 机器视觉设计犹如“搭积木”一样,在易用性和灵活性方面取得平衡,既方便非专业用户 进行设计又不会使得机器视觉只局限于某几种特定的应用。 。 在软件开发方法上,传统的方法总是运用结构化的建模方法进行功能建模,分析数据 流,进行系统的设计,最后开发出具有特定功能的机器视觉系统,每一次的系统开发都基 本是从头开始,这类系统可重构性、可复用性和可扩展性不好,浪费了大量的人力和物力 资源,使系统丌发周期过长,开发的成功率不高,很难真j 下投入使用。 基于构件组装的软件开发模式c b s dn 1 ( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ) ,通 过组装现有软件构件的方式来建造实用型软件系统,逐渐成为学术界和产业界关注的焦 点。构件技术以面向对象技术为基础,并很好地发展了面向对象技术。它的目的是将对象 的用户界面、对外接口等属性和对象的功能实现封装成一个规范的、标准的、可以方便地 被构件容器所操纵和使用的整体,使其成为一个通用、高效的软件部件。 西安j 里- r _ 大学硕士学位论文 1 1 国内外研究现状 1 1 1 机器视觉系统国内外研究现状 机器视觉自起步发展到现在,已有二十多年的发展历史。应该说机器视觉作为一种应 用系统,其功能特点是随着工业自动化的发展而逐渐完善和发展的。目前全球整个视觉市 场总量大概在6 0 一7 0 亿美元,是按照每年8 8 的增长速度增长的。而在中国,机器视觉 的发展还处于初级阶段,但是随着力n - r n 造业的发展,中国对于机器视觉的需求将呈上升 趋势。 在国外,机器视觉的应用普及主要体现在半导体及电子行业,其中大概4 0 一5 0 都 集中在半导体行业。具体如p c b 印刷电路:各类生产印刷电路板组装技术、设备;单、 双面、多层线路板,覆铜板及所需的材料及辅料;辅助设施以及耗材、油墨、药水药剂、 配件:电子封装技术与设备;丝网印刷设备及丝网周边材料等。s m t 表面贴装:s m t 工 艺与设备、焊接设备、测试仪器、返修设备及各种辅助工具及配件、s m t 材料、贴片剂、 胶粘剂、焊剂、焊料及防氧化油、焊膏、清洗剂等:再流焊机、波峰焊机及自动化生产线 设备。电子生产加工设备:电子元件制造设备、半导体及集成电路制造设备、元器件成型 设备、电子工模具。机器视觉系统还在质量检测。嵋4 1 的各个方面已经得到了广泛的应用, 并且其产品在应用中占据着举足轻重的地位。 目前在机器视觉赖以普及发展的诸多因素中,有技术层面的,也有商业层面的,但制 造业的需求是决定性的。制造业的发展,带来了对机器视觉需求的提升,也决定了机器视 觉将由过去单纯的采集、分析、传递数据,判断动作,逐渐朝着开放性的方向发展,这一 趋势也预示着机器视觉将与自动化更进一步的融合。 而在中国,以上行业本身就属于新兴的领域,再加之机器视觉产品技术的普及不够, 导致以上各行业的应用几乎空白,即便是有,也只是低端方面的应用。目前在我国随着配 套基础建设的完善,技术、资金的积累,各行各业对采用图像和机器视觉技术的工业自动 化、智能化需求开始广泛出现,国内有关大专院校、研究所和企业近两年在图像和机器视 觉技术领域进行了积极思索和大胆的尝试,逐步开始了工业现场的应用d 1 。其主要应用于 制药、印刷、矿泉水瓶盖检测等领域,真正高端的应用还很少,因此,机器视觉在相关行 业的应用空间还比较大。 1 1 2 机器视觉软件开发方法研究现状 随着计算机技术在许多高科技产品中的广泛应用以及硬件可靠性水平的日益提高,软 件质量、尤其是软件可靠性已经成为一个不容忽视的问题。据统计,软件错误是造成各种 计算机系统故障的最主要的根源,软件故障占整个计算机系统故障的6 5 以上。由于大 2 1 绪论 多数软件的开发和软件生产仍停留在个体户或作坊式的生产方式上,致使开发和生产的软 件产品质量不高、生产率过低、资金大量浪费、进度无法保证,这种局面的出现被人们称 为“软件危机”。 从危机中人们逐渐认识到软件开发不仅仅是一个程序设计技巧问题,更重要的是要有 一套完整的思想、方法和工具,这就是说应该把软件开发作为一个工程问题来考虑。通过 建立及使用好的工程原则来获得经济可靠的软件,努力摆脱开发人员的手工劳动,使软件 开发向自动化方向发展。软件开发方法己经历经两代技术跨越t 面向过程,包括面向功能 和面向数据流;面向对象,体现功能和数据抽象方法的统一。2 0 世纪9 0 年代中期以来, 由于分布对象技术与软件重构工程的有机结合,促使面向构件的软件开发方法应运而生。 简单地说,构件是具有一定的功能,能够独立工作或能同其它构件装配起来协调工作 的程序体,构件的使用同他的开发、生产无关。从抽象程度来看,面向对象技术已达到了 类级重用( 代码重用) ,它以类为封装的单位。这样的重用粒度还太小,不足以解决异构互 操作和效率更高的重用。构件将抽象的程度提到一个更高的层次,它是对一组类的组合进 行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐 藏了具体的实现,只用接口提供服务。基于构件的软件开发,通过组装现有软件构件的方 式来建造实用型软件系统,逐渐成为学术界和产业界关注的焦点。构件技术以面向对象技 术为基础,并很好地发展了面向对象技术。它的目的是将对象的用户界面、对外接口等属 性和对象的功能实现封装成一个规范的、标准的、可以方便地被构件容器所操纵和使用的 整体,使其成为一个通用、高效的软件部件。 机器视觉系统在软件的处理技术上,也从早期基于二值和灰度发展到了彩色,从二维 发展到三维,图像处理、计算机视觉、信号处理、模式识别等领域的诸多技术在机器视觉 检测系统中得到实现。为了方便丌发,不光出现很多图像处理集成软件包,囊括了视觉检 测中最常用的一些图像算法,如n i 公司的视觉开发模块( n iv i s i o nb u i l d e r 和i m a q v i s i o n ) ,a d e p t 公司h e x s i g h t 视觉软件等;还出现了神经网络、模糊数学、遗传算法等 工具软件包。当然有实力的公司更是推出了包括软硬件在内的一整套图像处理系统及解决 方案。 目前世界较领先的公司包括:加拿大m a t r o x 公司、加拿大c o r e c o 公司、美国d a t a t r a n s l a t i o n 公司、美国n i 公司、德国m v t e e 公司、比利时e u r e s y s 公司等。一般都提供 面向对象的机器视觉组态软件,用户可用它快速开发复杂高级的应用。国外的机器视觉软 件无论在软件构架还是在底层程序丌发方法上都走在国内前列,国外机器视觉软件在其内 部都采用了汇编指令集进行优化,比如m v t e c 公司h a l c o n 大量的采用了i n t e ls s e 2 的汇 编指令集。而e u r e s y s 公司e v i s i o n 采用m m x 汇编指令优化,所以在图像数据很大的情况 下,仍然保持很高的处理速度。特别值得一提的是h a l c o n 经常要将现世上的很多最新算 法加入,这些算法可能在速度上比不上传统算法快,但是处理精度却高出传统算法,并且 这种尝试把新算法加入到工业应用中的做法非常值得国内学习,因为我觉得机器视觉进步 3 西安理工大学硕士学位论文 的动力在于不断改进的算法。 目前国内机器视觉软件的开发,依然采用传统的开发方法,总是针对特定的企业和某 个特定的系统,根据用户的需求针对性地进行开发,运用结构化的建模方法进行功能建模, 分析数据流,进行系统的设计,最后开发出具有特定功能的机器视觉系统。特别是国内很 多相关单位都进行了类似的机器视觉软件方面的研究,但是每一次的系统开发都基本是从 头开始,这类系统可重构性、可复用性和可扩展性不好,浪费了大量的人力和物力资源, 使系统开发周期过长,开发的成功率不高,很难真正投入使用。与国外的机器视觉软件相 比,仍然有一定差距,所以国内的用户仍然主要依靠国外的机器视觉软件。 1 1 3 机器视觉相关图像处理方法研究现状 数字图像处理的发展开始于6 0 年代初期,首次获得实际成功应用的是美国喷气推进 实验室( j p l ) 。他们对航天探测器徘徊者7 号在1 9 6 4 年发回的几千张月球照片使用图像 处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球 环境的影响,由计算机成功的绘制出月球表面的地图,获得了巨大成功。随后在对火星、 土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。数字图像处理技术的 另一个巨大成就是在医学上获得的成果。1 9 7 2 年英国e m i 公司工程师h o u s f i e l d 发明了 用于头颅诊断的x 射线计算机断层摄影装置,简称c t 。与此同时,图像处理技术在许多 应用领域受到广泛重视并取得了重大的开拓型成就,属于这些领域的有航空航天、生物医 学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一 门引人注目、前景远大的新型学科。 从7 0 年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字 图像处理向更高、更深层次发展。许多国家,特别是发达国家投入了更多的人力、物力研 究机器视觉,取得了不少重要的研究成功。由于人们对视觉机理的研究还没有突破性的进 展,因此机器视觉研究是一项艰巨而长远的任务。尽管目前已有了不少图像理解的理论、 方法、算法和初级图像系统,但真j 下能在实际应用中可以取代人的视觉功能的还不多见。 当前科学技术的发展使得许多领域迫切需要应用图像处理和理解,因此,应当在机器视觉 领域中,加强新理论与方法的探索和研究,使之有可能较大的降低视觉理解的难度,而仍 然能解决不少十分有意义的实际问题。数字图像处理和理解的研究任重而道远,但可以相 信,视觉作为人类最重要的一种感知,是人类智能研究活动所不可缺少的。因而,研究数 字图像处理和理解将永远是一个挑战性的研究课题,不管存在多大的困难,总会取得突破 性进展,并给人类社会各个方面的实际应用带来越来越多的效益。 图像处理算法很多,没有特定哪类专用于机器视觉检测,但是显然很多算法并不能满 足机器视觉检测的需要。适合机器视觉检测的图像处理算法是强调目标特征应用、实时性 的图像处理算法,以及基于工业控制计算机的视觉检测系统和其中的算法集成。 基于机器视觉的研究,国内已经做了不少工作,但大都是算法研究,或者是实验研究, 4 1 绪论 很少应用到工业场合。陈燕等进行了机器视觉中高速图像处理算法研究及f p g a 实现1 6 1 。 杨海涛等研究了机器视觉检测算法并且进行了实现 1 ,鲁继文、张二虎研究了印刷品缺陷 检测中图像处理算法的应用8 ,鲁镇恶、谢勇对印刷品外观缺陷机器视觉的检测与识别进 行了研究,取得了一定的成果9 1 。 1 2 存在的问题和研究的意义 迄今为止,国内在机器视觉工业检测系统开发上己经投入了大量的资金和力量,开发 出为数众多的机器视觉系统,有些系统在实际中得到了应用。但是总的看来,这些系统所 取得的经济效益和投入对比来说很不相称。具体表现在:开发多,应用少;原型系统多, 实际应用的系统少;商品应用系统少;系统功能不足等,不能更好地满足实际生产的需求。 在机器视觉系统的研究和开发中存在一些问题“们t i l l : ( 1 ) 系统通用性差,各公司都是各自开发各自的系统; ( 2 ) 系统开发方法和软件生成模式研究不够,机器视觉系统作为一个软件系统,同 样面临所谓“软件危机”问题,长期以来,机器视觉系统的开发方法和模式始 终停留在传统的针对特定环境和应用对象的针对性的开发上,导致系统的开放 性、可扩展性差,系统难以适应频繁变化需求,难以维护和更新,也几乎不能 实现复用: ( 3 ) 对系统的实用化、工程化研究不够,虽然各种新方法、新技术在机器视觉系统 中不断获得应用,但主要是针对图像的数据处理方法,而始终缺乏对图像处理 系统的实用化、工程化以及软件生成机制的研究,缺乏各种技术之间及技术与 管理、技术与人之间的集成; ( 4 ) 重复开发严重,每个系统的开发都从头开始,造成资源的浪费,开发周期过长, 与国外同类软件有较大差距。针对这些问题,本文提出基于构件复用的机器视 觉系统,通过研究基于构件的开发方法和软件生成模式、合理的构件划分和构 件设计来提高系统的通用性,推动视觉系统的实用化、应用的工程化。 目前国内的机器视觉应用还处于初期,主要是在高校实验室和一些研究单位,多年的 研究和实际工作,形成了一些机器视觉处理方法,但这些成果基本以特定语言的代码形式 存在,由于国内外现有软件的可扩展性等问题,使得这些方法没有得到广泛应用。目前的 研究工作,基本是编写程序研究算法,然后利用开发语言( 如v i s u a lc + + ,v i s u a lb a s i c 等) 开发软件包,重复性的工作浪费了大量的时间,降低了效率。随着软件开发方法的不 断改进,开发基于构件机器视觉系统,提高机器视觉软件的可复用性成为一种趋势。 从目前现有的软件来看,通用类的软件基本上都是国外公司开发出来的,我们在使用 他们的软件时会因为昂贵的价格而无形中提高了机器视觉系统的成本,不利于机器视觉产 品的开发和推广。所以机器视觉软件系统的研究有很深远的意义。目前国内虽然开发了一 西安理工大学硕士学位论文 些机器视觉软件,但针对机器视觉领域软件开发方法的研究尚不多见,基于软件构件技术 的机器视觉软件系统的研究也未见报道。 1 3 课题的主要研究内容及论文的结构安排 本课题旨在学习国外先进软件构架技术和开发方法的基础上,研究设计具有自主知识 产权的机器视觉核心软件。若此研究成功,可以打破国外在机器视觉核心软件上的垄断, 利用自主开发的机器视觉软件构建适合国内工业应用场合的机器视觉系统,可以省去购买 国外软件的巨额费用,降低机器视觉系统的成本,有利于机器视觉产品在国内的开发和推 广。同时,利用自主开发的软件系统构建机器视觉系统,更适应国内工业场合的复杂性和 多变性,由于掌握了源代码,可以为不同的工业现场提供更有保障的软件支持。课题的主 要内容如下: ( 1 ) 基于构件的机器视觉软件架构研究。把当前流行的软件开发方法与机器视觉软 件开发结合起来,着重于软件系统自身的整体结构和构件间的互联,其中主要 包括:软件构架原理和风格,构件向软件构架的集成机制等; ( 2 ) 机器视觉软件在印刷缺陷检测中的应用研究,通过上面的设计与实现,开发出 基于构件的机器视觉软件系统,并把这套系统应用到印刷缺陷检测系统中,从 实际应用的角度,分析软件性能; ( 3 ) 基于特征点的图像匹配算法研究。提出一种改进的h a r r i s 角点检测算子,并验 证了其在工业环境下的稳定性,提出一种适合工业应用的基于特征点的匹配方 法,大大降低了直接在特征点矩形邻域窗口内进行归一化互相关匹配的误匹配 率,然后利用对极几何和单应约束来剔除误匹配,得到正确的匹配点对,最终 实现整幅图像配准。 ( 4 ) b l o b 分析算法研究。提出一种基于连通区域标记的快速b l o b 分析方法,算法使 用游程链表和动态数组的方法,只需扫描图像一次,并且无需建立等价表和进 行等价标记合并,解决了目前现有算法中的标记冗余现象。 本论文在结构上总共分为6 个部分,各部分具体安排如下: 第l 章,绪论,介绍本课题的国内外研究现状和研究意义,以及本课题的研究内容。 第2 章,介绍了基于构件的印刷品缺陷检测机器视觉软件架构及软件实现。 第4 章,介绍了基于特征点的图像匹配算法,对原有算法进行了改进。 第5 章,介绍了b l o b 分析算法,提出了新算法,并且论述了新算法优越性。 第6 章,总结与展望,就本文进行总结,分析本文的不足和将来的研究方向。 6 2 基于构件的印刷品缺陷检测机器视觉软件架构研究 2 基于构件的l ;p , 昂l l 品缺陷检测机器视觉软件架构研究 基于构件的软件开发方法为构筑大型复杂应用系统提供了一种理想的解决方案,软件 构件技术是支持软件复用的核心技术,通过重用具有良好定义的软件成分来开发应用软 件,可以大大提高软件生产率。本章首先给出了软件构件的基本理论,并在此基础上提出 了将软件构件思想应用到机器视觉软件开发的实践中,对机器视觉软件架构进行了分析, 然后详细阐述印刷品缺陷检测关键技术,最后介绍基于构件的印刷品缺陷检测机器视觉软 件具体实现。 2 1 基于构件的软件开发 2 1 1 构件的基本概念 ( 1 ) 软件构件发展的历史 随着信息技术的不断发展和时代的需求,当l ; 社会的信息化过程对软件需求的增长非 常迅速,但目前软件的开发与生产能力却相对不足,这不仅造成许多急需的软件迟迟不能 被开发出来,形成了软件脱节现象。而且,软件错误是造成各种计算机系统故障的最主要 的根源,据统计,软件故障占整个计算机系统故障的6 5 以上。随着计算机应用领域的 不断扩大,计算机数量猛增,软件规模越来越大,软件复杂程度越来越高,软件可靠性表 露的问题将会越来越突出。由于大多数软件的开发和软件生产仍停留在个体户或作坊式的 生产方式上,致使开发和生产的软件产品质量不高、生产率过低、资金大量浪费、进度无 法保证,这种局面的出现被人们称为“软件危机”。主要表现在: ( a ) 软件生产效率低。近二十年来,硬件的成长率达到3 0 ,但软件每年只能勉强 以4 7 的速度在成长。软件系统的开发进度不能保证。 ( b ) 软件生产成本高。6 0 年代,软件开发成本约占总成本的2 0 以下。7 0 年代以 后,软件成本已经占到总成本的8 0 ,而值得注意的是,软件维护费用在软件成本中竞 高达6 5 左右。 ( c ) 软件质量差。美国国防部1 9 8 6 年公布的数据指出,所有验收的外包软件中,竟 然只有4 可用,其余9 6 不能使用。另外,大部分企业自主开发的软件系统中,四分之 三以失败告终。 ( d ) 软件可靠性低。软件成为一种产品,是计算机系统的灵魂,是许多复杂系统的 神经中枢和关键。由于软件错误造成系统瘫痪、失效、人员伤亡和重大经济损失的例子时 有所闻:1 9 6 3 年,美国在发射金星探测火箭的控制程序中,有一条循环语句的“,误写 为“ ,仅这一点之差,就酿成发射失败、损失达上千万美元的事故;1 9 9 6 年6 月4 日, 7 西安理工大学硕士学位论文 欧洲宇航局发射阿里亚娜5 号火箭升空不到8 秒钟就发生爆炸的惨重事故了,其原因是由 3 个软件问题引起的。软件可靠性问题是软件质量的重要质量特性之一。 自2 0 世纪6 0 年代人们认识到软件危机、并提出软件工程以来,已经对软件开发问题 进行了不懈的研究。近几年来,软件研究人员逐步认识到:要实现软件的工业化生产方式, 达到软件产业发展所需的软件生产效率和质量,软件复用是一条切实可行的途径。软件复 用是指重复使用“为了复用目的而设计的软件”的过程,其出发点是以现有的工作为基础, 充分利用从过去的应用系统开发中积累的知识和经验( 如需求分析结果、设计方案、源代 码、测试计划及测试案例等) ,从而将开发的重点集中于应用软件中的特有构成成分。 1 9 6 8 年n a t o ( 北大西洋公约组织) 的计算机科学家在德国召开了国际学术会议, 商讨解决软件危机的问题。在这次软件工程会议上,m d m c i l o r y 在“m a s sp r o d u c e d s o f t w a r ec o m p o n e n t s ( 大批量生产的软件构件) 一文中首次提出软件构件1 2 1 这一概念以 及软件复用的思想。软件构件技术是支持软件复用的核心技术之一,近几年来发展迅速并 为越来越多的开发组织所采用。 软件开发的早期,是通过一个主程序来调用一些子程序过程实现的,每个子过程可 以看作是满足需求和功能的一个模块,程序员为了降低编程的复杂程度,在一个工程项目 中重复使用这些子过程。因此,子过程或函数可以看作是早期软件复用的形式。从1 9 世 纪7 0 年代后期到8 0 年代,软件工程师采用结构化软件开发的方法,将一个应用程序根据 其功能需求分割成一系列模块,完成这些模块的开发工作后,再将这些模块集成到一起成 为一个完整的系统。在这一时期,很多功能函数库以可复用软件包的形式被开发出来,完 成科学计算程序的功能。尽管很多程序员采用这些标准库函数开发出很多不同的应用程 序,但是程序员并不知道这些库函数的具体实现以及代码。 1 9 世纪8 0 年代,面向对象的软件开发方法将软件复用提高到更高的层次,很多面向 对象的c + + 类被开发成可复用的软件包,因此,面向对象的技术将构件技术从可复用的 库函数演变到面向对象的类库。面向对象的软件开发已经达到了类或代码级复用的层次, 并以此类作为封装的单位。但是这样的封装粒度太小,也不足以解决异构互操作问题。构 件可以将抽象的程度提的更高的层次,可对一组类的组合进行封装,完成包含一个或多个 功能的特定服务,为用户提供多个接口。构件隐藏了具体的实现细节,只通过接口向外提 供服务。这样,在不同的层次上,构件可以将底层的多个逻辑组合成高层次上的粒度更大 的新构件,甚至直接封装成一个系统,使软件复用从代码级、对象级、架构级到系统级都 可以实现,从而使软件可以像硬件一样,能够由用户自行定制和装配。 软件构件化的目的是彻底改变软件生产方式,实现软件复用,从根本上提高软件生产 的效率和质量。回顾经典的工业化革命,不难得出一些有益的启示:功能再复杂的产品都 是由大量标准的零件组成,零件在生产线上装配成一个成品,所有零件在成品中共同发挥 作用。而构件技术所扮演的角色就是把零件、生产线和装配运行的概念运用在软件工业中, 可以预见,基于构件的软件开发技术是软件产业化革命的必然发展趋势。 8 2 基于构件的印刷品缺陷检测机器视觉软件架构研究 ( 2 ) 软件构件的定义和特征 目前关于构件的定义有很多种,一个广为接受的定义是: 构件是具有符合特定协议的接口的组合单元,它的上下文依赖性是完全显式的,构件 可以被独立的部署,并由第三方组合。在与其他构件组合时,不需要修改构件的源代码, 只需要修改构件提供的接口和属性。构件的接口分为两种:一种是构件可以向外界提供的 服务的接口,其它构件可以通过这些接口来调用构件提供的服务;另一种是构件期望从其 它构件获得服务的接口。 从一般意义上讲,构件是系统中可以明确辨识的构成成分,而软件构件则是软件系统 中具有一定意义的相对独立的构成成分。由于目前讨论的软件构件主要着眼于其复用意 义,因此软件构件主要是指可复用构件,即:可以被多个应用系统所复用的,具有相对独 立功能的系统构成成分。 构件的概念是为提高软件的可重用性而提出的,其思想是将软件按一定的标准封装, 对外提供一组访问接口,指明软构件与其容器或与其他软构件交互的机制。构件可大可小, 小构件小到只有一个按钮功能的元素,大构件可以是一个完整的应用系统,如浏览器等。 构件通常具有以下基本的特点1 盯: ( a ) 构件是完成通用或特定功能的可重用软件模块。 ( b ) 构件遵循二进制标准,其实现不依赖于某种高级语言,它可以由对象语言或者 非对象语言实现。 ( c ) 构件通过接口输出其功能,外界仅能通过接口访问构件。 ( d ) 构件支持对象意义上的封装、多态和继承,所以又称构件对象。 ( e ) 构件是一个支持互操作的对象,它可以在跨越地址空间、网络、语言、操作系 统的异构环境下被调用或和其它构件协同工作。 由构件的特点可以看出,都强调了软件构件的独立性、互换性和功能性,即构件不依 存于某一个系统,它可以被相同功能的构件所替换,并且具有实际的功能意义。 ( 3 ) 软件构件的分类 从不同的角度出发,我们可以将构件分为以下几类: ( a ) 根据构件重用的方式,通常可分为白匣子、灰匣子和黑匣子三类。所谓白匣子 是指提供构件的同时也提供实现构件的全部源代码。在应用这个构件的时候,开发人员需 要对源代码进行某些修改,然后才能将它集成到系统中实现一定的应用目的。狄匣子只提 供有关界面部分的源代码,开发人员在应用构件时对构件的内核是不清楚的,只能在接口 界面上做一些用户化的工作。黑匣子则完全不提供源代码,只提供构件的二进制可执行形 式。构件应是封闭、透明、独立、可互换的,而白匣子的可复用性和可维护性都较差,因 此在基于构件的开发过程中,原则上应该尽量不使用白匣子。 9 西安理工大学硕士学位论文 ( b ) 根据构件的使用范围,分为通用构件和专用构件。 ( c ) 根据构件粒度的大小,可以分为小粒度构件,即基本数据结构构件,如窗口、 菜单、按钮等;中粒度构件,即功能构件,如文本录入、查询及删除功能等;大粒度构件, 即子系统级构件,如文本编辑子系统、图形图像处理子系统及网络功能子系统等。 ( d ) 根据构件功能用途,可以分为系统构件,即在整个构件集成环境和运行环境都 使用的构件;支撑构件,在构件集成环境及构件管理系统中使用的构件;领域构件,即为 专门领域开发的构件。 ( e ) 根据构件的结构,可以分为原子构件和组合构件。 ( f ) 根据构件重用时状态,可以分为动态构件,即在软件运行时可以动态嵌入的构 件;链接构件,如对象链接和嵌入库( o l e ) 、动态链接库( d l l ) ;静态构件,如源代码、 系统分析构件、系统设计构件。 2 1 2 当前主流构件规范与相关技术 当前主流构件规范包括o m g 的c o r b a 、s u n 的e j b j 2 e e 和m i c r o s o f t 的c o m d c o m 。 c o r b a ( c o m m o n o b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公共对象请求代理体系结构) 是由o m g 公司制定的分布式对象模型,通过c o r b a 接口定义语言( i n t e r f a c ed e f i n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论